-
-
Notifications
You must be signed in to change notification settings - Fork 659
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add ability to speak character when cursor routing #16947
Conversation
WalkthroughThe changes enhance NVDA's braille functionality by introducing a feature that allows the application to announce the character at the cursor when routing with a braille display. This feature improves accessibility for users who rely on auditory feedback while navigating text. It includes a new configuration option, user interface adjustments, and support for toggling the feature through settings. Changes
Assessment against linked issues
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
Outside diff range, codebase verification and nitpick comments (3)
source/braille.py (1)
3685-3689
: Add docstring details.The docstring should include more details about the function's behavior and the expected type for the
info
parameter.""" Speaks the character at the cursor position after routing. This function checks if the `speakOnRouting` configuration option is enabled. If enabled, it will spell out the character at the cursor position using speech. :param info: The TextInfo object at the cursor position after routing. :type info: textInfos.TextInfo """
source/gui/settingsDialogs.py (1)
4525-4525
: Ensure the new configuration option is documented.The new configuration option
speakOnRouting
is correctly integrated but is not documented in any markdown, reStructuredText, or plain text files. Please ensure that this new option is documented in the relevant documentation files.
source/config/configSpec.py
source/braille.py
source/globalCommands.py
source/gui/settingsDialogs.py
Analysis chain
Ensure the new configuration option is documented.
The new configuration option
speakOnRouting
is correctly integrated. Ensure that this new option is documented in the relevant documentation files.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify that the new configuration option `speakOnRouting` is documented. # Test: Search for the documentation of the new configuration option. Expect: Occurrences in documentation files. rg --type markdown --type rst 'speakOnRouting'Length of output: 46
Script:
#!/bin/bash # Description: Verify that the new configuration option `speakOnRouting` is documented. # Test: Search for the documentation of the new configuration option in plain text files. rg --type txt 'speakOnRouting' # Test: Search for the documentation of the new configuration option in other potential formats. rg 'speakOnRouting'Length of output: 1031
user_docs/en/changes.md (1)
18-18
: Fix typographical error.There is a typographical error: "ath" should be "at".
* When performing a braille cursor routing action, NVDA can now automatically speak the character at the cursor. (#8072, @LeonarddeR)
* Added a new braille option "Speak character when routing cursor in text", disabled by default. When enabled, NVDA will speak the character you routed to
Given how many options for controlling small aspects there are (ever growing), and how few users go through after every update and look at new ones, or read through the changes:
wouldn't it make more sense to turn this on by default, let the new feature be exposed, and let those who don't like it figure out how to turn it off, instead of the other way around?
I too often run into the situation where I hear users say "I didn't know NVDA could even do that", just because we are too conservative and leave new features disabled by default. We assume that users will happen across them, recognize what they actually do, and recognize that what is done is something that they wanted all along.
I for one, don't consider those safe assumptions.
|
@XLTechie
This is certainly something to consider.
No feedback on cursor routing has been the default since the start of NVDA and none has ever bothered to implement this feature until now. Personally, I would only enable the feature if, for example, I was working with foreign language braille tables. So to keep it short, I'm really reluctant to enable this by default. |
Thinking more about this, may be after every update, we should consider having a message that reminds one to open the what's new after an update? |
The how we should get new features in front of users is a very valuable discussion - although out of scope for this PR - so I created issue #16961 for it - @XLTechie and @LeonarddeR I copied your comments over and tagged you both in that issue. |
Not directly to this pr but somehat similar: I think it would be useful if when braille is tethered to focus, it would be possible that when caret moves from line to line (when braille up/down/forward/backward buttons are pressed), there would be option that content of new line would be spoken. This would be useful when using both braille and speech simultaneously. |
@burmancomp could you please open a new issue for this? I think it could be an useful feature indeed, though much harder to implement. |
Co-authored-by: Sean Budd <seanbudd123@gmail.com>
@Qchristensen Turns out there's some debate about wording. Could you chime in? Basically:
|
I think enabled/disabled is generally what we use, I just couldn't think of it at the time |
Use enabled/disabled
@LeonarddeR I like The "Enabled/Disabled" idea better than either toggled or turned.
I retract my prior suggestion.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
User Guide reads well, just made one small fix in the changes text
Co-authored-by: Quentin Christensen <quentin@nvaccess.org>
Link to issue number:
Closes #8072
Summary of the issue:
When cursor routing, it can sometimes be handy if speech follows along and tells you what character you moved to, especially when the character in braille is unknown to you.
Description of user facing changes
Description of development approach
Added a new option to the config spec, as well as a function to braille to speak the character at the given position. Also added an item to the settings panel as well as an unbound global command.
Testing strategy:
Known issues with pull request:
None known
Code Review Checklist:
Summary by CodeRabbit
New Features
Documentation
Bug Fixes