Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Klassennamen ändern

  Alt 20. Aug 2024, 10:36
Ein "ordentlicher" Screenreader sollte doch aber eigentlich auf die "innere" Fensterklasse / den Real-ClassName achten, bzw. eigentlich besser auf auf Funktionen, also ob eine API zum Auslesen des Textes vorhanden ist.

Wenn der wirklich auf den "aktuellen" Klassenname achtet, müsste er ja "Delphi" kennen und sonst auch jedes GUI-Framework, welches das RichEdit jeweils in einer eigenen Klasse kapselt.


Ich weiß leider nicht, wie es bezüglich VCL aussieht.
Insgesamt hab ich da eigentlich keine Ahnung, was dieses "Accessibility"-Thema für Blinde und Schlechtsehende betrifft.

OK, einmal kann man bei FMX angeben, dass es echte Windowskomponenten nutzt, anstatt selbst zu malen,
für einige wenige Komponenten, wie Edits und Buttons ... k.A. ob auch RichEdit.
Wo also unter Windows quasi die VCL-Komponente im FMX verwendet wird, welche wiederum Windows und somit auch ScreenReader finden können.
[edit] OH, FMX kennt kein RichEdit, aber erstmal egal [/edit]
ControlType = Platform
https://docwiki.embarcadero.com/Libr...on.ControlType

Für FMX/FireMonkey gibt es aber ein Addon, um die "selbstgemalte" GUI, ala JAVA, für ScreenReader zugänglich zu machen.
Es gibt im Windows eine API dafür, um dem Reader explizit "selbst" den Inhalt der Form zu sagen, anstatt er die Form abscannt.
https://docwiki.embarcadero.com/RADS...bility_Package

Prinzipiell gibt es dieselbe API auch für die VCL,
denn z.B. TLabel und Grids malen sich auch selbst, wo der ScreenReader nur die Pixel/Canvas via OCR analysieren müsste,
oder das Programm sagt ihm via API, was dort wo drin steht.

Es gibt auch einige andere proprietäre Schnittstellen, für spezielle ScreenReader.


PS: statt TLabel, was in Delphi kein WinControl ist, sondern sich selbst auf den Canvas seines Patents malt,
kann man hier auch TStaticText verwenden, welches das "echte" Windows-TextanzeigeControl "STATIC" ist.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (20. Aug 2024 um 10:45 Uhr)
  Mit Zitat antworten Zitat