Skip to content

Add a braille setting for Chinese word segmentation - #20642

Open
cary-rowen wants to merge 4 commits into
nvaccess:masterfrom
cary-rowen:add-braille-chinese-word-segmentation-toggle
Open

Add a braille setting for Chinese word segmentation#20642
cary-rowen wants to merge 4 commits into
nvaccess:masterfrom
cary-rowen:add-braille-chinese-word-segmentation-toggle

Conversation

@cary-rowen

@cary-rowen cary-rowen commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Link to issue number:

Fixes #20471

Summary of the issue:

Chinese word segmentation is always used with Chinese braille output tables.
Some users need to disable this behavior and let the selected braille table translate the original text directly.

Description of user facing changes:

A "Use Chinese word segmentation" checkbox has been added to the Braille settings category.

It is enabled by default to preserve the existing behavior and only affects Chinese braille output tables.
Context-sensitive help and User Guide documentation are included.

Description of developer facing changes:

There are no public API changes.

Description of development approach:

The change follows the conventions of existing Braille settings and preserves the current behavior by default.

Testing strategy:

Manual testing should cover the following:

  • With a Chinese braille output table, confirm that word segmentation can be enabled and disabled.
  • Confirm that changing the setting updates the braille output as expected.
  • Confirm that the setting has no effect with non-Chinese braille output tables.
  • Press F1 on the setting and confirm that the corresponding User Guide section opens.

Known issues with pull request:

None known.

Code Review Checklist:

  • Documentation:
    • Change log entry
    • User Documentation
    • Developer / Technical Documentation
    • Context sensitive help for GUI changes
  • Testing:
    • Unit tests
    • System (end to end) tests
    • Manual testing
  • UX of all users considered:
    • Speech
    • Braille
    • Low Vision
    • Different web browsers
    • Localization in other languages / culture than English
  • API is compatible with existing add-ons.
  • Security precautions taken.

@cary-rowen

Copy link
Copy Markdown
Contributor Author

HI cc @keyang556
Would you mind test this PR build?

@keyang556

Copy link
Copy Markdown
Contributor

OK, I'll test it.

@keyang556

Copy link
Copy Markdown
Contributor

Fixed, thank you.

@cary-rowen
cary-rowen marked this pull request as ready for review August 10, 2026 12:44
@cary-rowen
cary-rowen requested review from a team as code owners August 10, 2026 12:44
@cary-rowen

Copy link
Copy Markdown
Contributor Author

Thanks @keyang556

@keyang556

keyang556 commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

I don't know, if possible, off by default in zhtw table(or nvda language), but on by default in zhcn table?

Qchristensen
Qchristensen previously approved these changes Aug 12, 2026

@Qchristensen Qchristensen left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

User guide reads well

@seanbudd
seanbudd marked this pull request as draft August 13, 2026 00:20
@seanbudd
seanbudd requested a review from Qchristensen August 13, 2026 00:20
@cary-rowen

Copy link
Copy Markdown
Contributor Author

Based on the discussion in #20471, I plan to narrow the scope of #20642 as follows:

  • Chinese word segmentation will be completely disabled for the zh-TW braille output table, restoring the behavior from before NVDA 2026.3.
  • The new setting will apply to Mainland Chinese braille output tables and remain enabled by default, allowing users to disable it when needed.
  • Spacing only at boundaries between Chinese text and Latin letters or numbers will remain out of scope for this PR. This is separate from Chinese word segmentation and should be considered in a separate issue, potentially at the braille table level.

I understand the suggestion to retain an override for zh-TW. However, I propose not to expose one because the issue reporter confirmed that Taiwanese users generally prefer no word separators and that an option is not needed for most users.

This keeps #20471 focused on restoring the expected zh-TW behavior while retaining user control for Mainland Chinese braille.

@cary-rowen
cary-rowen marked this pull request as ready for review August 17, 2026 07:56
@keyang556

Copy link
Copy Markdown
Contributor

This version is great.

@seanbudd seanbudd left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @cary-rowen

Comment thread user_docs/en/userGuide.md Outdated
Comment thread user_docs/en/userGuide.md
@@ -3676,8 +3688,7 @@ You may toggle through the available paragraph styles from anywhere by assigning
##### Word Segmentation Standard {#WordSegmentationStandard}

This setting controls how NVDA determines word boundaries when navigating by word.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think adding this sentence might clarify this setting better for users who do not need/use it.

Suggested change
This setting controls how NVDA determines word boundaries when navigating by word.
This setting controls how NVDA determines word boundaries when navigating by word.
This affects how script languages without spaces break up text into words, sentences and paragraphs

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add an option to disable Chinese word separators in braille output

4 participants