AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi-Komponenten mit NVDA?

Ein Thema von CCRDude · begonnen am 31. Okt 2011 · letzter Beitrag vom 31. Okt 2011
Antwort Antwort
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#1

Delphi-Komponenten mit NVDA?

  Alt 31. Okt 2011, 14:37
NVDA ist ein Open Source Screen Reader, der sehbehinderten Usern die Software-Navigation per Vorlesefunktion ermöglicht.

Funktioniert mit Delphi-Programmen an sich ganz gut, abgesehen von einzelnen Komponenten. Bei mir explizit ein VirtualStringTree und TJSDialog, die nicht richtig vorgelesen werden.

Hat jemand Erfahrung damit, wie Delphi-Komponenten ergänt werden müssen, damit Screen Reader-Software allgemein (oder gar NVDA speziell) damit umgehen kann?

Die NVDA-Doku ist leider etwas schwach, oder ich habe einfach nicht gut genug geschaut, um dort entsprechendes zu finden.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Delphi-Komponenten mit NVDA?

  Alt 31. Okt 2011, 14:40
Ich vermute mal, dass es nur mit WinControls funktioniert
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Delphi-Komponenten mit NVDA?

  Alt 31. Okt 2011, 16:00
Geht es bei TLabel auch nicht?

Und wie sieht es mit Word aus? (aber eventeull haben die dafür eine Schnittstelle implementiert)
OK, da gehen die vermutlich über die API in das Programm rein und fragen nach dem Text.

Der VirtualStringTree und TLabel zeichnen die Ausgaben selber. Da gibt es keine WinControls, aus welchen man den Text auslesen könnte, sondern nur "Bilder".
Außer vielleicht per OCR, aber ich vermute auch mal, daß die die Texte aus den WinControls auslesen, also WM_GETTEXT und Co.


Du könntest entweder auch eine entpschende Schnittstelle zu deinem Programm einbauen, oder du könntest über ein unsichtbares (falls die sowas nicht ignorieren) oder ein 1 Pixel großes TMemo (ohne TabStop) eine Kopie der Texte anbieten, bzw. das Memo etwas größer hinter dem VTV (die Texte müssen darin auch nicht formatiert sein)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (31. Okt 2011 um 16:11 Uhr)
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Delphi-Komponenten mit NVDA?

  Alt 31. Okt 2011, 17:21
Vielen Dank für die Denkanstöße

Die NVDA-API funktioniert mit zusätzlicher DLL, das wollte ich, wenn möglich, vermeiden. Eine eigene Message an die Handles wäre doch viel praktischer

Insbesondere danke himitsu für die Erwähnung von WM_GETTEXT... falls die das wirklich machen, könnte ich glatt mal überlegen, ob ich das WM_GETTEXT des TJSDialog zumindest überschreibe und darin die Plaintext-Version des Dialoginhaltes liefere, daran hatte ich überhaupt nicht gedacht
  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 21:12 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