AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Programm für ScreenReder (NVDA / MS) tauglich machen
Thema durchsuchen
Ansicht
Themen-Optionen

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

Ein Thema von DieDolly · begonnen am 27. Jun 2022 · letzter Beitrag vom 27. Jun 2022
Antwort Antwort
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#1

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

  Alt 27. Jun 2022, 18:12
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?

Geändert von DieDolly (27. Jun 2022 um 18:23 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#2

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

  Alt 27. Jun 2022, 18:46
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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (27. Jun 2022 um 18:53 Uhr)
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#3

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

  Alt 27. Jun 2022, 18:51
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.

Geändert von DieDolly (27. Jun 2022 um 18:53 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#4

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

  Alt 27. Jun 2022, 18:55
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
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#5

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

  Alt 27. Jun 2022, 19:25
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)

Geändert von DieDolly (27. Jun 2022 um 19:40 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz