[ Bug] Some elements are not being reported by screen readers

Offen
#6,633 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
35/100
Issue-Typ
Bug
Klarheit
Muss geklärt werden
Aktivitätsstatus
Veraltet
Tech-Stack
python
Bereich
accessibility

Rechercherichtung

Beginne damit, das Problem mit PySimpleGUIWx unter Windows 11 und NVDA zu reproduzieren, und vergleiche die gemeldeten Schaltflächen, Eingabefelder und Popups mit Dropdowns und Textelementen. Identifiziere, welche Elemente dem Screenreader nicht zugänglich gemacht werden, und verfolge ihre Wx-Implementierung; abgeschlossen ist die Arbeit, wenn die betroffenen Elemente konsistent gemeldet werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Type of Issue (Enhancement, Error, Bug, Question)

Bug


Operating System

Windows 11

PySimpleGUI Port (tkinter, Qt, Wx, Web)

Wx


Versions

Version information can be obtained by calling sg.main_get_debug_data()
Or you can print each version shown in ()

Python version (sg.sys.version)

Python 3.9.13 (tags/v3.9.13:6de2ca5, May 17 2022, 16:36:42) [MSC v.1929 64bit (AMD64)]

PySimpleGUI Version (sg.__version__)

4.60.5

GUI Version (tkinter (sg.tclversion_detailed), PySide2, WxPython, Remi)

4.2.1


Your Experience In Months or Years (optional)

Years Python programming experience
About 4 Months I guess...
Years Programming experience overall
About 2.5 years now
Have used another Python GUI Framework? (tkinter, Qt, etc) (yes/no is fine)
Nope


Troubleshooting

These items may solve your problem. Please check those you've done by changing - [ ] to - [X]

  • Searched main docs for your problem www.PySimpleGUI.org
  • Looked for Demo Programs that are similar to your goal. It is recommend you use the Demo Browser! Demos.PySimpleGUI.org
  • None of your GUI code was generated by an AI algorithm like GPT
  • If not tkinter - looked for Demo Programs for specific port
  • For non tkinter - Looked at readme for your specific port if not PySimpleGUI (Qt, WX, Remi)
  • Run your program outside of your debugger (from a command line)
  • Searched through Issues (open and closed) to see if already reported Issues.PySimpleGUI.org
  • Have upgraded to the latest release of PySimpleGUI on PyPI (lastest official version)
  • Tried using the PySimpleGUI.py file on GitHub. Your problem may have already been fixed but not released
Detailed Description

I'm using PySimpleGUIWx, and, while working with it, I noticed that some elements are not being reported by screen readers (I tested with NVDA at least). I know buttons, input fields and popups do get reported, but some other elements like dropdowns and texts don't. I don't know the full list of unreported elements, because I didn't test all of them. As discussed in:
https://nvda.groups.io/g/nvda/topic/how_does_nvda_make_its_gui/87411360?p=
According to one of NVDA developers, Wx elements are accessible, so I don't exactly know why using the Wx port to "communicate" with Wx doesn't produce the same output. I know that it may be the way PySimpleGUIWx is implemented, but I didn't take a look at the code, nor I think I have enough experience and knowledge, neither in python nor in Wx to discover or even guess why this happens. If I were to suggest something, I would tell you to test which elements don't get reported. I also will try doing the same tests with other screen readers and post here, but to be honest, NVDA does a very good job most of the time, and if something is not being reported by NVDA, it's very unlikely that it will get reported by other screen readers in most of cases.

Anyway, I hope this contribution will be useful somehow and will help devs create accessible apps really easy.

Code To Duplicate

A short program that isolates and demonstrates the problem (Do not paste your massive program, but instead 10-20 lines that clearly show the problem)

This pre-formatted code block is all set for you to paste in your bit of code:


# Paste your code here

There's no relevant code to show i guess...
Screenshot, Sketch, or Drawing

Watcha Makin?

If you care to share something about your project, it would be awesome to hear what you're building.
Just a chess client...

Vorherrschende Sprache
Python
Sterne
13.8k
Forks
1.8k
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus PySimpleGUI/PySimpleGUI

Alle Issues in PySimpleGUI/PySimpleGUI

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.