Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Programm für ScreenReder (NVDA / MS) tauglich machen (https://www.delphipraxis.net/210897-programm-fuer-screenreder-nvda-ms-tauglich-machen.html)

DieDolly 27. Jun 2022 17:12


Programm für ScreenReder (NVDA / MS) tauglich machen
 
Aus gegebenem Anlass frage ich nach.

Wie bekommt man ein Programm auch für blinde Menschen gut nutzbar? Standard-GUIs mit Edits und Labeln sind oft nicht gut lesbar für ScreenReader.

Befindet sich ein Label unmittelbar (angedockt) über einem Edit und navigiert man ins Edit, lesen ScreenReader das Label oben drüber vor.
Befindet sich das Label neben dem Edit, sind ScreenReader am Ende.

Freistehende Labels (kleine Erklärungen für Optionen und sowas) lesen ScreenReader gar nicht vor.

Wie bekommt man ein Programm mit einer ganz normalen GUI für ScreenReader lesbar?

himitsu 27. Jun 2022 17:46

AW: Programm für ScreenReder (NVDA / MS) tauglich machen
 
man implementiert die eine Screen-Reader-API, dann müssen die Controls nicht gesucht werden, da du ihm alles direkt gibst,
auch in der Reihenfolge und nur das, was du willst, oder sogar etwas, was man garnicht (als Text) sieht.
https://docs.microsoft.com/en-us/win.../accessibility

TLabel kann ein ScreenReader garnicht finden (außer er macht einen Screenshot und geht via OCR über den Inhalt).
TLabel ist kein WinConrol (es malt sich selbst auf seinen Parenrt ... für Windows existiert es garnicht -> hat kein eigenes HWND)
https://www.delphipraxis.net/210885-...ml#post1507948

TStaticText statt TLabel wäre eine Alternaive. (oder ein readonly-TEdit ohne Border und mit angepasster Hintergrundfarbe)



die/eine : es gibt nicht nur die API von Microsoft ... einige ScreenReader haben nur oder zusätzlich eine eigene API.

DieDolly 27. Jun 2022 17:51

AW: Programm für ScreenReder (NVDA / MS) tauglich machen
 
Irgendwie hilft mir das (der Link) gar nicht weiter.
Aber ich wechsele in jedem Fall alle Labels durch StaticText aus. Das sollte schon viel helfen.

himitsu 27. Jun 2022 17:55

AW: Programm für ScreenReder (NVDA / MS) tauglich machen
 
Zitat:

Zitat von DieDolly (Beitrag 1507981)
Irgendwie hilft mir das (der Link) gar nicht weiter.

Artikel lesen und mit den Begriffen von da danach suchen.

z.B. Hier im Forum suchenIAccessible / Bei Google suchenIAccessible

DieDolly 27. Jun 2022 18:25

AW: Programm für ScreenReder (NVDA / MS) tauglich machen
 
Zitat:

die/eine : es gibt nicht nur die API von Microsoft
Das ist das Problem. Wenn ich eine API implementiee, dann wäre das nur für eine Engine. Die von MS, JAWS oder sonst was.
JAWS nutzt sicher seine eigene.

Die MS-Seite ist echt kompliziert. Die MS-Doc-Seiten waren es schon immer, viel Text aber irgendwie wenig Inhalt. Ich blicke da gar nicht durch.

Ich habe zwar hier was gefunden, aber das sieht seltsam aus.
Ist etwas (sehr viel [viel zu viel]) Aufwand (in jedes FormCreate eine WndPro-Zuweisung für jede (!) einzelne Komponente die man lesen lassen möchte.
https://stackoverflow.com/questions/...ents-in-delphi
(gerade mit einem Edit getestet, hilft nicht. Es wird nur ein Eingabefeld erkannt, aber es gibt keine Infos dazu welches es ist)


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz