dave090679 Posted November 29, 2014 Share Posted November 29, 2014 Hallo Leute,Seit einigen Jahren bin ich begeisterter Nutzer von DVBViewer. Ich verfolge die Entwicklung der Barrierefreiheit von DVBViewer seit der Version 4.0. Bis zur Version 5.1 war der DVBViewer sehr gut mit dem freien und quelloffenen Bildschirmleser NVDA zugänglich.Seit der Version 5.2 ist die Zugänglichkeit von DVBViewer für menschen mit (Seh-)Behinderung jedoch zurückgegangen. Dies bezieht sich vor Allem auf Elemente von Baumstrukturen (Einträge im Epg-Fenster, Einträge in der Aufnahmeprogrammierung, Kanäle in der Senderliste, Kategorien im Optionsfenster etc). Dies führt dazu, dass ein Nutzer von Bildschirmleseprogrammen nicht (Bzw. nicht mehr «Sauber» angesagt/angezeigt bekommt, welcher Eintrag momentan den Fokus besitzt. Bis zur DVBViewer-Version 5.1 funktionierte noch alles reibungslos.Der folgende auszug aus dem NVDA-Protokoll zeigt, wie NVDA bei DVBViewer 5.1 einen Eintrag aus dem Epg-Fenster (korrekt) darstellt:-------------------------------------------------------------------------------Developer info for navigator object:name: u'Do; Start: 21:00; Dauer: 00:45; Sendung: K\xf6nigliche Dynastien (4/4); Titel: Die Hohenzollern; Ende: 21:45; Genre: Serie; Beschreibung: Er k\xf6nnte heute Kaiser sein: Georg Friedrich Prinz von Preu\xdfen. Doch nach dem verlorenen Ersten Weltkrieg brach die Monarchie in Deutschland wie ein Kartenhaus zusammen. Zu seiner Hochzeit mit Sophie Prinzessin von Isenburg im August 2011 kamen Blaubl\xfcter und VIPs aus ganz Europa, das Fernsehen berichtete live. Sonst lebt der jugendliche Chef des ehemals regierenden K\xf6nigshauses Preu\xdfen eher zur\xfcckgezogen. Wenig erinnert noch an den Glanz von vor 100 Jahren, als zur Verm\xe4hlung von Kaisertochter Prinzessin Victoria der englische K\xf6nig Georg und Russlands Zar Nikolaus anreisten.\r\nProduziert in HD\r\n[16:9]\r\n[stereo] [deu]\r\n[stereo] [mul]; Datum: 27.11.2014'role: ROLE_TREEVIEWITEMstates: STATE_FOCUSABLE, STATE_FOCUSEDisFocusable: TruehasFocus: TruePython object: <NVDAObjects.IAccessible.OutlineItem object at 0x05F95A70>Python class mro: (<class 'NVDAObjects.IAccessible.OutlineItem'>, <class 'NVDAObjects.IAccessible.IAccessible'>, <class 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class 'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>, <type 'object'>)description: u'Start: 21:00; Dauer: 00:45; Sendung: K\xf6nigliche Dynastien (4/4); Titel: Die Hohenzollern; Ende: 21:45; Genre: Serie; Beschreibung: Er k\xf6nnte heute Kaiser sein: Georg Friedrich Prinz von Preu\xdfen. Doch nach dem verlorenen Ersten Weltkrieg brach die Monarchie in Deutschland wie ein Kartenhaus zusammen. Zu seiner Hochzeit mit Sophie Prinzessin von Isenburg im August 2011 kamen Blaubl\xfcter und VIPs aus ganz Europa, das Fernsehen berichtete live. Sonst lebt der jugendliche Chef des ehemals regierenden K\xf6nigshauses Preu\xdfen eher zur\xfcckgezogen. Wenig erinnert noch an den Glanz von vor 100 Jahren, als zur Verm\xe4hlung von Kaisertochter Prinzessin Victoria der englische K\xf6nig Georg und Russlands Zar Nikolaus anreisten.\r\nProduziert in HD\r\n[16:9]\r\n[stereo] [deu]\r\n[stereo] [mul]; Datum: 27.11.2014'location: (333, 449, 23, 18)value: NoneappModule: <'appModuleHandler' (appName u'DVBViewer', process ID 10160) at address 21fdbd0>appModule.productName: u'DVBViewer Pro'appModule.productVersion: u'5.1'TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>windowHandle: 5311196windowClassName: u'TVirtualStringTree'windowControlID: 5311196windowStyle: 1446051840windowThreadID: 5976windowText: u''displayText: u'Do'IAccessibleObject: <POINTER(IAccessible) ptr=0x9efbb70 at 59b2990>IAccessibleChildID: 0IAccessible event parameters: windowHandle=5311196, objectID=-4, childID=0IAccessible accName: u'Do; Start: 21:00; Dauer: 00:45; Sendung: K\xf6nigliche Dynastien (4/4); Titel: Die Hohenzollern; Ende: 21:45; Genre: Serie; Beschreibung: Er k\xf6nnte heute Kaiser sein: Georg Friedrich Prinz von Preu\xdfen. Doch nach dem verlorenen Ersten Weltkrieg brach die' (truncated)IAccessible accRole: ROLE_SYSTEM_OUTLINEITEMIAccessible accState: STATE_SYSTEM_HOTTRACKED, STATE_SYSTEM_FOCUSED, STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1048708)IAccessible accDescription: u'Start: 21:00; Dauer: 00:45; Sendung: K\xf6nigliche Dynastien (4/4); Titel: Die Hohenzollern; Ende: 21:45; Genre: Serie; Beschreibung: Er k\xf6nnte heute Kaiser sein: Georg Friedrich Prinz von Preu\xdfen. Doch nach dem verlorenen Ersten Weltkrieg brach die Mon' (truncated)IAccessible accValue: u'0'-------------------------------------------------------------------------------Wie ihr an den Iaccessible-Eigenschaften sehen könnt, liefert die zugänglichkeitsschnittstelle IAccessible bis zur DVBViewer-Version 5.1 noch den aktuell ausgewählten Eintrag aus dem Epg-Fenster korrekt aus. Diesen kann NVDA dann auch problemlos in die eigenschaft Name abstrahieren. Das funktioniert - unabhängig von der Spaltenbreite - in allen mehrspaltigen Baumstrukturen korrekt.An der Eigenschaft Location ist außerdem zu sehen, dass sich NVDA auch - korrekt - nur einen Eintrag aus dem Epg "greift".Nach der Aktualisierung auf DVBViewer 5.3.2 sieht die Entwicklerinfo allerdings so aus:-------------------------------------------------------------------------------INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo (15:00:56):Developer info for navigator object:name: Nonerole: ROLE_UNKNOWNstates: STATE_FOCUSABLE, STATE_FOCUSEDisFocusable: TruehasFocus: TruePython object: <NVDAObjects.IAccessible.ContentGenericClient object at 0x05D2A070>Python class mro: (<class 'NVDAObjects.IAccessible.ContentGenericClient'>, <class 'NVDAObjects.IAccessible.IAccessible'>, <class 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class 'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>, <type 'object'>)description: Nonelocation: (511, 339, 724, 127)value: u'Fr 08:45 05:15 Vor Ort: Sitzung des Deutschen Bundestages Moderation: Julia Sch\xf6ningFr 14:00 00:45 Durch den hohen Nordenchen Bundestages Unterwegs in Skandinavien - Film von ClaudiFr 14:45 00:30 Vor \u2026'appModule: <'appModuleHandler' (appName u'DVBViewer', process ID 5568) at address 60ca510>appModule.productName: u'DVBViewer Pro'appModule.productVersion: u'5.3.2.0'TextInfo: <class 'displayModel.DisplayModelTextInfo'>windowHandle: 9898806windowClassName: u'TVirtualStringTree'windowControlID: 9898806windowStyle: 1446051840windowThreadID: 3444windowText: u''displayText: u'Fr 08:45 05:15 Vor Ort: Sitzung des Deutschen Bundestages Moderation: Julia Sch\xf6ningFr 14:00 00:45 Durch den hohen Nordenchen Bundestages Unterwegs in Skandinavien - Film von ClaudiFr 14:45 00:30 Vor Ort: LIVE T\xfcrkei-Besuch des Papstesages Moderation' (truncated)IAccessibleObject: <POINTER(IAccessible) ptr=0x78dc70 at 60c13f0>IAccessibleChildID: 0IAccessible event parameters: windowHandle=9898806, objectID=-4, childID=0IAccessible accName: NoneIAccessible accRole: ROLE_SYSTEM_CLIENTIAccessible accState: STATE_SYSTEM_FOCUSED, STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1048580)IAccessible accDescription: NoneIAccessible accValue: None-------------------------------------------------------------------------------Das bedeutet im Klartext, dass IAccessible keine Infos zum aktuell ausgewählten Element mehr liefert - mit mehr oder Weniger fatalen Konsequenzen: Bei der Verwendung von NVDA als Bildschirmleser bedeutet das, dass der aktuelle Eintrag aus dem Displaymodel gewonnen werden muss, wie ihr an der Eigenschaft displaytext sehen könnt. Ein bekannter von mir, der Jaws als Bildschirmleser benutzt, bekommt zwar den aktuell ausgewählten Eintrag korrekt angezeigt, muss allerdings die Spaltenbreite verstellen, um alle Infos (z. B. zu einer programmierten Aufnahme zu sehen.Die Zugänglichkeit von DVBViewer für NVDA könntet ihr verbessern, indem ihr die Zugänglichkeitsschnittstelle IAcessible mit dem passenden Werten füttert.Aus der Tatsache, dass fast alle Klassennamen mit einem "T" beginnen, schließe ich, dass der DVBViewer mit Delphi oder einem Derivat erstellt wurde. Weitere Infos dazu, wie man IAccessible in benutzerdefinierten Steuerelementen richtig einbaut, findet ihr hier: http://stackoverflow.com/questions/16320914/creating-accessible-ui-components-in-delphiUm die Barrierefreiheit auf breiterer Front sicherzustellen, solltet ihr dafür sorgen, dass der DVBViewer mit mindestens zwei der nachfolgend aufgeführten Bildschirmleser mindestens den Stand von Version 5.1 erreicht:NVDA 2014.4: http://sourceforge.net/projects/nvda/files/releases/2014.4/nvda_2014.4.exe/downloadJaws 15.0: http://www.freedomsci.de/serv01.htmWindows-eyes: http://www.window-eyes.at/demo/downloadpage.phpCobra: http://download.baum-retec.info/pms/Cobra/COBRA10.1.0Deu.exeFalls sich jemand von euch am Erstellen einer NVDA-Erweiterung versuchen will, findet ihr eine Anleitung hier: http://addons.nvda-project.org/devDocs/devDocs.de.htmlmit freundlichen GrüßenDave Quote Link to comment
Griga Posted November 29, 2014 Share Posted November 29, 2014 Das Problem ist hierbei die vom DVBViewer verwendete VirtualTreeView-Komponente, also Third-Party-Code - nicht nur ein paar Zeilen, sondern eine Menge. Der Autor der Komponente hat irgendwann gewechselt, und der neue hat einiges geändert, vielleicht war ihm die Barrierefreiheit nicht so wichtig, vielleicht hatte er den Aspekt nicht im Blick, keine Ahnung... wir können auch nicht einfach auf eine beliebige ältere Version zurück, weil darunter die Funktionalität an anderer Stelle leiden könnte. Wir wissen nicht, mit welcher Code-Variante bzw. Version der leider 2013 überraschend verstorbene ehemalige hauptamtliche DVBViewer-Programmierer Lars den DVBViewer 5.1 kompiliert hat. Deshalb stochern wir hinsichtlich des Problems im Dunkeln. Nichtsdestotrotz werden die ausführlichen Hinweise eventuell helfen, der Sache auf die Spur zu kommen - danke schon mal. Ich gebe das weiter... Quote Link to comment
dave090679 Posted November 30, 2014 Author Share Posted November 30, 2014 Hi, Vielen Dank für die schnelle Antwort. Ich hoffe, dass ihr einen Ansatzpunkt zum Implementieren von Barrierefreiheit in die neueren DVBViewer-Versionen findet. mfg Dave Quote Link to comment
hackbart Posted November 30, 2014 Share Posted November 30, 2014 Hi, ich habe gerade keine aktuelle VM, denke aber das Tjod die Ursache für den Fehler gefunden hat. Kannst du mir eventuell eine Mail schicken? Christian Quote Link to comment
dave090679 Posted December 3, 2014 Author Share Posted December 3, 2014 Hi Christian, Welche Infos brauchst du noch? mfg Dave Quote Link to comment
Griga Posted December 3, 2014 Share Posted December 3, 2014 Ich glaube, Christian braucht keine Infos, sondern einen Tester und will deshalb mit dir Kontakt aufnehmen. Quote Link to comment
hackbart Posted December 4, 2014 Share Posted December 4, 2014 Danke für deine Antwort, ich habe heute NVDA installiert und bin positiv erstaunt wie viel sich in den letzten Jahren getan hat bei Screenreadern. Vor allem die Tatsache das NVDA sich nicht so extrem im System einnistet ist recht praktisch beim Testen außerhalb von virtuellen Maschinen. Ich denke auch das Problem endlich in den Griff bekommen zu haben, zumindest hoffe ich das und habe dir heute Abend eine neue Testversion geschickt. Christian PS: Ich werde mich mal in Ruhe mit der WM_GETOBJECT und IAccessible Beschäftigen. Wenn etwas Luft ist probiere ich mich mal an einer Machbarkeitsstudie das OSD damit auszustatten. Denkbar wäre das, da wir ja die Texte kennen und diese somit auch übergeben können. Quote Link to comment
dave090679 Posted December 7, 2014 Author Share Posted December 7, 2014 hallo Leute, Ich hatte vor reichlich einem Jahr einmal versucht, von NVDA aus den DVBViewer so anzuzapfen, dass NVDA das Osd-Menü ansagt, und zwar egal wie und mit welcher Fernbedienung man den Viewer bedient hat. Ich wollte damals die Ereignisse onaction und onselecteditemchange nutzen, um zum geeigneten Zeitpunkt den aktuellen Osd(Menü)Eintrag zu "besorgen" und anzusagen. Das funktioniert auch - aber leider nur grundsätzlich; soll heißen: manchmal werden - aus welchem Grund auch immer - die Menüeinträge mehrfach angesagt. Es gibt hier im Forum auch eine Diskussion dazu, nämlich im Thema DVBViewer mittels com-Objekten ansteuern/zugänglich machen mfg Dave Quote Link to comment
dave090679 Posted June 1, 2015 Author Share Posted June 1, 2015 Hallo Leute,Ich habe grade eben die neue DVBViewer-Version 5.4.1 getestet - mit ernüchternden Ergebnisse - zumindest was die Zugänglichkeit angeht.Im DVBViewer 5.4.1 war noch alles «im Grünen Bereich», was die Zugänglichkeit von Baumstrukturen anging (Optionen, Epg, Aufnahmeprogrammierung, Kanalliste usw). Hier wurde noch alle Spalten vollständig angezeigt. Unter DVBViewer 5.4.0 sah beispielsweise ein Epg-Eintrag bicg si azs;Mo; Start: 14:05; Dauer: 00:45; Sendung: Die Rettungsflieger; Titel: Vertrauensfragen; Ende: 14:50; Genre: Serie; Beschreibung: Serie, Deutschland 2007Rentnerin Gerda montiert auf dem Balkon Blumenkästen. Als ein Kasten in die Tiefe stürzt, glaubt sie, dass er ein Nachbarbaby erschlagen hat. Vor lauter Aufregung hat sie einen Herzanfall.Eine junge Frau ist ohne ersichtlichen Grund gegen einen Baum gefahren. Die Polizei vermutet einen Fahrfehler der Fahranfängerin, doch Blank und Wollcke entdecken, dass trotz nagelneuem TÜV mit dem Wagen etwas nicht in Ordnung ist.Darsteller: ...[16:9][stereo] [deu][stereo] [mul][stereo] [mis][Dolby Digital 2.0] [deu][DVB subtitles] [deu]; Datum: 01.06.2015in der Entwicklerinfo von NVDA sah damals auch noch alles gut aus:INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo (14:17:18):Developer info for navigator object:name: u'Mo; Start: 14:05; Dauer: 00:45; Sendung: Die Rettungsflieger; Titel: Vertrauensfragen; Ende: 14:50; Genre: Serie; Beschreibung: Serie, Deutschland 2007 \r\nRentnerin Gerda montiert auf dem Balkon Blumenk\xe4sten. Als ein Kasten in die Tiefe st\xfcrzt, glaubt sie, dass er ein Nachbarbaby erschlagen hat. Vor lauter Aufregung hat sie einen Herzanfall. \r\nEine junge Frau ist ohne ersichtlichen Grund gegen einen Baum gefahren. Die Polizei vermutet einen Fahrfehler der Fahranf\xe4ngerin, doch Blank und Wollcke entdecken, dass trotz nagelneuem T\xdcV mit dem Wagen etwas nicht in Ordnung ist. \r\nDarsteller: \r\n ...\r\n[16:9]\r\n[stereo] [deu]\r\n[stereo] [mul]\r\n[stereo] [mis]\r\n[Dolby Digital 2.0] [deu]\r\n[DVB subtitles] [deu]; Datum: 01.06.2015'role: ROLE_TREEVIEWITEMstates: STATE_FOCUSABLE, STATE_FOCUSEDisFocusable: TruehasFocus: TruePython object: <NVDAObjects.IAccessible.OutlineItem object at 0x05F09AB0>Python class mro: (<class 'NVDAObjects.IAccessible.OutlineItem'>, <class 'NVDAObjects.IAccessible.IAccessible'>, <class 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class 'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>, <type 'object'>)description: u'Start: 14:05; Dauer: 00:45; Sendung: Die Rettungsflieger; Titel: Vertrauensfragen; Ende: 14:50; Genre: Serie; Beschreibung: Serie, Deutschland 2007 \r\nRentnerin Gerda montiert auf dem Balkon Blumenk\xe4sten. Als ein Kasten in die Tiefe st\xfcrzt, glaubt sie, dass er ein Nachbarbaby erschlagen hat. Vor lauter Aufregung hat sie einen Herzanfall. \r\nEine junge Frau ist ohne ersichtlichen Grund gegen einen Baum gefahren. Die Polizei vermutet einen Fahrfehler der Fahranf\xe4ngerin, doch Blank und Wollcke entdecken, dass trotz nagelneuem T\xdcV mit dem Wagen etwas nicht in Ordnung ist. \r\nDarsteller: \r\n ...\r\n[16:9]\r\n[stereo] [deu]\r\n[stereo] [mul]\r\n[stereo] [mis]\r\n[Dolby Digital 2.0] [deu]\r\n[DVB subtitles] [deu]; Datum: 01.06.2015'location: (513, 339, 26, 18)value: NoneappModule: <'appModuleHandler' (appName u'DVBViewer', process ID 14972) at address 5e185b0>appModule.productName: u'DVBViewer Pro'appModule.productVersion: u'5.3.2.0'TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>windowHandle: 199716windowClassName: u'TVirtualStringTree'windowControlID: 199716windowStyle: 1446051840windowThreadID: 14364windowText: u''displayText: u'Mo'IAccessibleObject: <POINTER(IAccessible) ptr=0x9118ef8 at 5cf6e40>IAccessibleChildID: 0IAccessible event parameters: windowHandle=199716, objectID=-4, childID=0IAccessible accName: u'Mo; Start: 14:05; Dauer: 00:45; Sendung: Die Rettungsflieger; Titel: Vertrauensfragen; Ende: 14:50; Genre: Serie; Beschreibung: Serie, Deutschland 2007 \r\nRentnerin Gerda montiert auf dem Balkon Blumenk\xe4sten. Als ein Kasten in die Tiefe st\xfcrzt, glaubt' (truncated)IAccessible accRole: ROLE_SYSTEM_OUTLINEITEMIAccessible accState: STATE_SYSTEM_HOTTRACKED, STATE_SYSTEM_FOCUSED, STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1048708)IAccessible accDescription: u'Start: 14:05; Dauer: 00:45; Sendung: Die Rettungsflieger; Titel: Vertrauensfragen; Ende: 14:50; Genre: Serie; Beschreibung: Serie, Deutschland 2007 \r\nRentnerin Gerda montiert auf dem Balkon Blumenk\xe4sten. Als ein Kasten in die Tiefe st\xfcrzt, glaubt sie' (truncated)IAccessible accValue: u'0'In der DVBViewer-Version 5.4.1 scheint die Unterstützung für die Zugänglichkeit "weggebrochen" zu sein:-(. Zumindest sieht jetzt derselbe Epg-Eintrag plötzlich (wieder) so aus:Mo 14:05 00:45 Die Rettungsflieger Vertrauensfragen 14:50und die passende Entwicklerinfo von NVDA sieht dann so aus:INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo (14:12:35):Developer info for navigator object:name: Nonerole: ROLE_UNKNOWNstates: STATE_FOCUSABLE, STATE_FOCUSEDisFocusable: TruehasFocus: TruePython object: <NVDAObjects.IAccessible.ContentGenericClient object at 0x05EF2D70>Python class mro: (<class 'NVDAObjects.IAccessible.ContentGenericClient'>, <class 'NVDAObjects.IAccessible.IAccessible'>, <class 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class 'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>, <type 'object'>)description: Nonelocation: (511, 338, 716, 128)value: u'Mo 14:05 00:45 Die Rettungsflieger Vertrauensfragen 14:50Mo 14:50 00:45 Hart aber herzlich Mordstheater 15:35Mo 15:35 00:50 Hart aber herzlich Das gr\xfcne Zimmer 16:25Mo 16:25 00:50 Drei Engel f\xfcr Charl\u2026'appModule: <'appModuleHandler' (appName u'DVBViewer', process ID 14204) at address 5de6910>appModule.productName: u'DVBViewer Pro'appModule.productVersion: u'5.2.7.2'TextInfo: <class 'displayModel.DisplayModelTextInfo'>windowHandle: 592594windowClassName: u'TVirtualStringTree'windowControlID: 592594windowStyle: 1446051840windowThreadID: 13564windowText: u''displayText: u'Mo 14:05 00:45 Die Rettungsflieger Vertrauensfragen 14:50Mo 14:50 00:45 Hart aber herzlich Mordstheater 15:35Mo 15:35 00:50 Hart aber herzlich Das gr\xfcne Zimmer 16:25Mo 16:25 00:50 Drei Engel f\xfcr Charlie Abenteuer in der Karibik (2/2) 17:15Mo 17:15 00' (truncated)IAccessibleObject: <POINTER(IAccessible) ptr=0x8f6cfc8 at 5d57260>IAccessibleChildID: 0IAccessible event parameters: windowHandle=592594, objectID=-4, childID=0IAccessible accName: NoneIAccessible accRole: ROLE_SYSTEM_CLIENTIAccessible accState: STATE_SYSTEM_FOCUSED, STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1048580)IAccessible accDescription: NoneIAccessible accValue: NoneFür mich fühlt sich das ganz so an wie damals in den 5.2er-Versionen:-(. (siehe oben in der Ausgangsnachricht dieser Diskussion).Über einen Fix dieses Problems würde ich mich freuen.mfgDave Quote Link to comment
Griga Posted June 1, 2015 Share Posted June 1, 2015 Mit welcher Schriftgröße-Einstellung unter Systemsteuerung > Darstellung und Anpassung > Anzeige wird Windows betrieben? Dort gibt es 100%, 125% und 150% als Option. Quote Link to comment
dave090679 Posted June 3, 2015 Author Share Posted June 3, 2015 (edited) Hi Griga, im Moment sind 100% eingestellt. Die Schriftgrößeneinstellung spielt imho üblicherweise keine Rolle, weil die Zugänglichkeitsschnittstellen UIA Bzw. IAccessible unabhängig von Schriftgrößen, Fensterpositionen, Farbtiefen oder Bildschirmauflösung immer mit denselben Daten versorgt werden. Probiert es mal mit der DVBViewer-Version 5.4.0 Beta oder mit der 5.1 aus! ich verwende die Entwicklerversion von NVDA (master-11139). die Entwicklerversionen können hier heruntergeladen werden: http://community.nvda-project.org/wiki/Snapshots NVDA verwendet keinen Video-interceptor-Treiber und ist dadurch unabhängig von Farben, Fensterpositionen, Bildschirmauflösungen und Schriftgrößen; kurz: von allem, was irgendwie mit Optik zu tun hat:-). Bei Bildschirmleseprogrammen, die mit Hilfe eines Video-Interceptor-Treibers die Grafikkarte anzapfen (wie die meisten kostenpflichtigen Produkte) hast du recht. Dort haben Spaltenbreiten, Schriftgrößen und Fenstergrößen tatsächlich Einfluss auf die angezeigten Inhalte. Das kann könnt ihr auch bei NVDA beobachten, wenn ihr auch die Eigenschaft Displaytext in der Entwicklerinfo bei unterschiedlichen einstellungen anschaut. Aus diesem Grund sollte jeder, der NVDA-erweiterungen entwickelt, die eigenschaft DisplayText wirklich nur in ausnahmefällen benutzen! Normalerweise sollte NVDA beim Durchwandern von Baumstrukturen (Epg, Kanalliste, Optionenkategorienliste, Aufnahme- und Timerstatistik, Aufnahmeprogrammierung etc). mit den Pfeiltasten auf und ab immer den aktuell ausgewählten Eintrag (und nur den) ansagen Bzw. auf der Braillezeile anzeigen. In den "fehlerhaften" Versionen zeigt (und sagt) NVDA alle sichtbaren Einträge (eben Inhalt von Displaytext) an, weil an den Zugänglichkeitsschnittstellen Funkstille herrscht:-(. Das könnt ihr in der Entwicklerinfo am unteren Teil (an den IAccessible-Eigenwschaften sehen. Diese sind im "negativbeispiel nämlich leer, im Positivbeispiel sthen die korrekten Werte drin. mfg Dave Edited June 3, 2015 by dave090679 Quote Link to comment
hackbart Posted June 3, 2015 Share Posted June 3, 2015 Kann ich bestätigen. Das Problem ist eigentlich nur das eine für Virtualtreeview notwendige Klasse nicht initialisiert wurde. Die eine fehlende Zeile war beim Aufräumen wohl abhanden gekommen. Jetzt funktioniert das ganze wieder wie gehabt. Sprich es wird von der Tabelle der Spaltenbezeichner (z.B. Beschreibung) vorgelesen und danach der Inhalt der Spalte auf dem der Cursor sich befindet. Im nächsten Update funktioniert das ganze wieder wie gehabt. Christian PS: Bei der Gelegenheit habe ich die OEM Versionen auch dahingehend erweitert. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.