Skip to content
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

NVDA Breaks Words At Apostrophes with Speak Typed Words #6215

Open
btman16 opened this issue Jul 27, 2016 · 9 comments
Open

NVDA Breaks Words At Apostrophes with Speak Typed Words #6215

btman16 opened this issue Jul 27, 2016 · 9 comments

Comments

@btman16
Copy link

btman16 commented Jul 27, 2016

Hello,

On NVDA latest Master, using NVDA+3 for the Speak typed words function, if I'm in an edit box and I type a word such as it's that contains an apostrophe, NVDA breaks the word at the apostrophe.
Example:

  1. Press NVDA+3 for "speak typed words".
  2. When it's on, open up a text editor such as Notepad.
  3. Type a word with an apostrophe.
    Actual result: if you type it's, with an apostrophe before the s, NVDA reads it s.
    Expected: NVDA would say it's, when space is pressed and not break the word at the apostrophe.

Thank you very much for your time and I look forward to any input you are willing to provide.

Thanks,

Brandon

@Qchristensen
Copy link
Member

Just noting this issue is still present. NVDA speaking typed words treats anything that isn't a letter as a word break - this is mostly correct, but apostrophe more often is used as a contraction in a word, as in don't, won't or it's, rather than punctuation.

@btman16
Copy link
Author

btman16 commented Aug 10, 2018 via email

@Brian1Gaff
Copy link

Brian1Gaff commented Aug 10, 2018 via email

@btman16
Copy link
Author

btman16 commented Aug 10, 2018 via email

@Qchristensen
Copy link
Member

NVDA breaks words at apostrophe's using eSpeak NG, Windows OneCore Voices and SAPI 5. So I think it is likely to be NVDA. It's possible that other implementations (as Brandon indicated it happens on Linux) also used the same logic, that is any non-alphanumeric character breaks a word.

The other issues Brian mentioned are separate to this so should be raised in other issues.

@btman16
Copy link
Author

btman16 commented Aug 11, 2018 via email

@Adriani90
Copy link
Collaborator

cc: @JulienCochuyt

@JulienCochuyt
Copy link
Collaborator

JulienCochuyt commented Dec 9, 2020

IINW, in English the apostrophe can either denote contraction - in which case it is part of the word - but the same character can also be used as quotation mark - in which case it is a word boundary.
In French, it instead denotes elision and as such is a word boundary.
Eg. « l'arbre » originates from « le arbre » ("the tree") but only the former is valid.
Still, there is a single exception I can think of: « aujourd'hui » ("today") which originates from an elision, but is a single word in modern language.
The same argument can question whether a dash is part of a word, a word break or punctuation.

It really depends on the language in use and the context and is closely related to the discrepancies observed in different editors when navigating by word using control+left/right.

IMHO, we should apply the same rule for "speak typed word" as we apply for "review by word" - until we can come up with a language-aware solution.

EDIT: Review by word uses Windows Uniscribe library - unless overridden by the underlying TextInfo.

@Qchristensen
Copy link
Member

Perhaps the question should not be "is there a situation in which a single quote or hyphen is used as a word boundary" but rather, given we know in both cases they are used in the middle of words - "Is there ever a situation in which a single quote or hyphen is used as a word boundary WITHOUT another character seen as a word boundary following?" If the answer is no (any time a quote or hyphen ends a word it is followed by a space, full stop, question mark, etc) then we should treat both characters as we do letters. That way, any time they end a word, they will be followed by punctuation or whitespace, and the result for the user will be the same, and any time they are used in the middle of a word, they will be treated as part of the word as they should be.

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

Successfully merging a pull request may close this issue.

6 participants