Ich versuche, die Zugänglichkeit meiner Delphi-Anwendung für sehbehinderte Benutzer zu verbessern. Meine Anwendung verwendet viele benutzerdefinierte GUI-Komponenten. Sie stammen meist von TWinControl oder TGraphicControl.
Meine benutzerdefinierten Komponenten scheinen beim Testen mit NVDA nicht sichtbar zu sein. Zum Beispiel antwortet NVDA, indem er den Namen des Steuerelements (oder anderer Details) liest, wenn er über reguläre Delphi VCL-Steuerelemente wie Schaltflächen oder Formulare bewegt wird. Im Gegensatz dazu reagiert NVDA überhaupt nicht, wenn Sie über eines meiner benutzerdefinierten Steuerelemente bewegen.
Wie mache ich meine benutzerdefinierten Komponenten für NVDA und andere Bildschirmlesesoftware sichtbar?
Die Antwort finden Sie auf der Seite NVDA Design Overview . NVDA verwendet eine Reihe von Accessibility-APIs, um Informationen zu GUI-Steuerelementen zu sammeln. NVDA unterstützt:
Es sieht so aus, als müsste ich eine der oben genannten APIs implementieren. Nicht sicher, was die Vor- und Nachteile der einzelnen APIs sind.
Barrierefreie UI-Komponenten in Delphi erstellen bietet Details zur Implementierung von IAccessible. (Danke für den Link David)
Tags und Links delphi delphi-xe2 accessibility screen-readers nvda