Skip to content

ia2LiveRegions: Ignore changes in editable text#14666

Merged
michaelDCurran merged 4 commits into
nvaccess:masterfrom
jcsteh:liveEcho
Mar 1, 2023
Merged

ia2LiveRegions: Ignore changes in editable text#14666
michaelDCurran merged 4 commits into
nvaccess:masterfrom
jcsteh:liveEcho

Conversation

@jcsteh

@jcsteh jcsteh commented Feb 23, 2023

Copy link
Copy Markdown
Contributor

Link to issue number:

Fixes #8442.

Summary of the issue:

Authors sometimes misguidedly mark editable text as a live region. This results in typed characters being echoed even if the user has speak typed characters turned off.

Description of user facing changes

In Firefox and Chrome (and derivatives thereof), Characters will no longer be echoed while typing in an editable text that is incorrectly marked as a live region.

Description of development approach

  1. Use COM smart pointers in winEventProcHook to improve readability and maintainability. It's probably worth merging this as a rebase or full merge so this is separated from the second change.
  2. If an object has IA2_STATE_EDITABLE, ignore live region updates.

Testing strategy:

  1. This appears to be fixed in Google Groups itself (the original report in NVDA echoes the contents of the Google Groups Compose edit box as each character is typed #8442), so I couldn't test it there.
  2. Typed characters into the editor on https://pad.chapril.org/p/testing in Firefox Nightly with speak typed characters off. Without this fix, typed characters were echoed. With this fix, they were not.
  3. Typed characters into the editor in this test case in Firefox Nightly and Chrome Canary with speak typed characters off:
    data:text/html,<input type="text" aria-live="polite">
    Without this fix, typed characters were echoed. With this fix, they were not.
  4. Tested this test case in Firefox Nightly and Chrome Canary:
    data:text/html,<div id="live" aria-live="polite"></div><script>let n = 0; function update() { live.textContent = ++n; setTimeout(update, 1000); } update(); </script>
    Numbers were reported every second both before and after the fix as expected.

Known issues with pull request:

None.

Change log entries:

Bug fixes:

  • In Mozilla Firefox and Google Chrome, typed characters are no longer reported in some text boxes even when speak typed characters is disabled.

Code Review Checklist:

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

@jcsteh jcsteh requested a review from a team as a code owner February 23, 2023 00:38
@jcsteh jcsteh requested a review from seanbudd February 23, 2023 00:38
@AppVeyorBot

Copy link
Copy Markdown

See test results for failed build of commit 94ad018698

@michaelDCurran michaelDCurran merged commit d30349c into nvaccess:master Mar 1, 2023
@nvaccessAuto nvaccessAuto added this to the 2023.2 milestone Mar 1, 2023
@jcsteh jcsteh deleted the liveEcho branch May 25, 2026 04:01
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.

NVDA echoes the contents of the Google Groups Compose edit box as each character is typed

4 participants