Skip to content

Ignore padding dots at low symbol reporting levels#16141

Merged
seanbudd merged 2 commits into
nvaccess:masterfrom
CyrilleB79:ignorePaddingDots
Feb 7, 2024
Merged

Ignore padding dots at low symbol reporting levels#16141
seanbudd merged 2 commits into
nvaccess:masterfrom
CyrilleB79:ignorePaddingDots

Conversation

@CyrilleB79

Copy link
Copy Markdown
Contributor

Link to issue number:

Closes #15845

Summary of the issue:

Padding dots in table of contents are reported even at low punctuation levels.

Description of user facing changes

Padding dots are not reported anymore at low punctuation levels.

Description of development approach

In symbol file, define a complex symbol to identify padding dots as 4 or more dots. Assign level to "all", e.g. as "end of sentence dot". And define "send real symbol to synthesizer" to "always" so that a pause is kept between the text before the dots and the text after them.

In character processing, change the order of symbol processing as follows:

  • complex symbols rules
  • repetition rules
  • simple symbol rules

Before, repetition rule was the first. This has been done so that the repetition rule do not override the new rule for the padding dots complex symbol.
In any case, I do not think that there was any use case of the repetition rule being used with complex symbols.

Testing strategy:

Tested the following expressions at low or high symbol level:

a.1
a ... 1
a ........ 1
¿
¿¿¿¿

Known issues with pull request:

In browse mode, e.g. while reading a PDF, the text of the line may contain more characters than the max number of characters by line defined in Browse mode settings in some usual cases. In this case, the line is still split depending on its original number of characters, what can be undesirable.
To address this, the maximum number of characters in a line should be increased; 200 should be enough in most common use cases.

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.

@AppVeyorBot

Copy link
Copy Markdown

See test results for failed build of commit b37a9abacc

@CyrilleB79 CyrilleB79 marked this pull request as ready for review February 7, 2024 17:08
@CyrilleB79 CyrilleB79 requested a review from a team as a code owner February 7, 2024 17:08
Comment thread source/characterProcessing.py Outdated
@seanbudd seanbudd merged commit d78d23d into nvaccess:master Feb 7, 2024
@nvaccessAuto nvaccessAuto added this to the 2024.2 milestone Feb 7, 2024
@CyrilleB79 CyrilleB79 deleted the ignorePaddingDots branch February 8, 2024 08:02
Nael-Sayegh pushed a commit to Nael-Sayegh/nvda that referenced this pull request Feb 15, 2024
Closes nvaccess#15845

Summary of the issue:
Padding dots in table of contents are reported even at low punctuation levels.

Description of user facing changes
Padding dots are not reported anymore at low punctuation levels.

Description of development approach
In symbol file, define a complex symbol to identify padding dots as 4 or more dots. Assign level to "all", e.g. as "end of sentence dot". And define "send real symbol to synthesizer" to "always" so that a pause is kept between the text before the dots and the text after them.

In character processing, change the order of symbol processing as follows:

complex symbols rules
repetition rules
simple symbol rules
Before, repetition rule was the first. This has been done so that the repetition rule do not override the new rule for the padding dots complex symbol.
In any case, I do not think that there was any use case of the repetition rule being used with complex symbols.
@codeofdusk

Copy link
Copy Markdown
Contributor

As a user of punctuation all, I really, really don't like this new behaviour. Is there a way to disable the collapsing of ellipses into "padding dots"?

@CyrilleB79

Copy link
Copy Markdown
Contributor Author

@codeofdusk, it would help to know more about the use case(s) in which you dislike this new behaviour.

Is it in the padding use case, e.g. table of contents? Or in another (or more) use case?

If you expect the use case to be common, I'd also recommend that you open a new issue so that it is more visible than comments in a closed PR. This way, it will be easier to evaluate if a revert is needed.

I have not found a way to disable this new rule and turn back to the default multiple symbol rule for dots, since symbols belonging to NVDA's factory .dic file cannot be suppressed. I do not know if there is an open issue for this.

@codeofdusk

Copy link
Copy Markdown
Contributor

@CyrilleB79

it would help to know more about the use case(s) in which you dislike this new behaviour.

When reading any running paragraph of text containing more than three consecutive dots, at the end of Outlook notifications, etc. The table of contents use case feels less common than those in my workflow, and hearing "padding dots" is unintuitive. Happy to open an issue.

@CyrilleB79

Copy link
Copy Markdown
Contributor Author

Happy to open an issue.

Yes, please do, as written earlier. This way, we may discuss the best solution with other people, e.g. increasing the number of dots, changing the "padding" word with something more suitable, or just revert if many people ask it.

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.

Ignore table of contents padding marks in Acrobat when reading PDF files

5 participants