beeware / beeware/toga

Accessibility Improvement: Add Focus and Alternative Text for Labels and Widgets

Open
#2,827 9 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
5.4k
Forks
827
Avg merge
15h 39m
Merged PRs (30d)
40

Description

### What is the problem or limitation you are having?

Currently, the Toga framework has some limitations in terms of accessibility. Labels are not focusable via the keyboard, which makes navigation difficult for users who rely on this functionality. Additionally, there is no support for adding alternative/descriptive text to widgets, which prevents screen readers from providing adequate descriptions. There is also no way to customize the accessible text for widgets, limiting the ability to make the interface more descriptive and intuitive.

### Describe the solution you'd like

1- Focus for Labels: The ideal solution would be to allow labels to be focusable by setting an attribute like focusable: True. This would enable labels to be included in the window's tab order, improving navigation for keyboard users.

2- Alternative Text for Widgets: Adding an alternative/descriptive text attribute (similar to the 'alt' attribute in HTML) for all widgets would allow screen readers to provide more informative descriptions, such as for images.

3- Customizable Accessible Text: Implementing the ability to customize the accessible text for widgets. Accessible text is what identifies the widget to the user, such as "button" for a button, "text field" for a text input, or "label" for a label. While this functionality is also important, I consider that items 1 and 2 are more critical for improving the overall accessibility of the framework.

### Describe alternatives you've considered

look up

### Additional context

I am a programmer with limited experience and highly value accessibility to make applications more inclusive. The ability to make labels focusable and provide alternative text for widgets are significant improvements that could benefit many users. Customizing accessible text is an additional aspect that, while useful, is less critical compared to the other improvements. I believe these changes would not only enhance the framework's usability but also help address a wider range of user needs.

If this suggestion is not in the right place, please guide me on where I should submit it. I am willing to help in any way I can to contribute to the development of Toga.

Thank you for your attention and for the excellent work on Toga.

Best regards, @dorzao

Contributor guide

Open the contributing guide

Research direction

The issue names no files or tests; start by locating Toga's Label and widget implementations and reviewing how accessibility is currently handled. Break the request into focusable labels, descriptive text, and customizable accessible text, then confirm platform scope and acceptance criteria with maintainers before identifying tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
accessibility, desktop-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.