Skip to content

Support aria-errormessage#16411

Merged
seanbudd merged 29 commits into
nvaccess:masterfrom
SaschaCowley:aria_errormessage
May 8, 2024
Merged

Support aria-errormessage#16411
seanbudd merged 29 commits into
nvaccess:masterfrom
SaschaCowley:aria_errormessage

Conversation

@SaschaCowley

Copy link
Copy Markdown
Member

Link to issue number:

Closes #8318

Summary of the issue:

Currently, NVDA does not read error messages referenced with aria-errormessage and aria-invalid (or platform native invalid).

Description of user facing changes

Error messages referenced by aria-errormessage are reported in speech and Braille on nodes marked as invalid.

Description of development approach

NVDAObjects have a new property, errorMessage, which is retrieved via the error IA2 relation. For virtual buffers, this is done in the virtual buffer backend and stored in the virtual buffer node. For focus mode, this is done at call-time.

Testing strategy:

Manual testing in Google Chrome and Mozilla Firefox using this Codepen and other test pages. System tests that run in Chrome have also been provided.

Known issues with pull request:

  • There is no option to opt out of error message reporting. As this change may significantly increase verbosity, users may want to have the ability to stop error message reporting, or only report error messages on command. This may be particularly relevant on Braille displays, where space is at a premium.

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 (currently do not include Braille)
    • 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.

@SaschaCowley SaschaCowley requested a review from a team as a code owner April 17, 2024 08:48
@SaschaCowley SaschaCowley requested a review from seanbudd April 17, 2024 08:48
@Adriani90

Copy link
Copy Markdown
Collaborator

Thanks Sascha for adding support for this. Actually this does not need an opt out option at all, for example we don't provide such an option for things like aria describedby or aria description or role:alert messages and it is still totally fine. The error message as far as I understand appears after an action has been perfomed, such as focus change or wrong data entered into a field. It is possible to stop the reporting of error message by pressing the control key.

@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.

Nice work @SaschaCowley - just a few minor things

Comment thread nvdaHelper/vbufBackends/gecko_ia2/gecko_ia2.cpp Outdated
Comment thread source/NVDAObjects/IAccessible/__init__.py Outdated
Comment thread source/NVDAObjects/__init__.py Outdated
Comment thread source/NVDAObjects/__init__.py Outdated
Comment thread source/NVDAObjects/__init__.py Outdated
Comment thread source/NVDAObjects/__init__.py Outdated
Comment thread user_docs/en/changes.t2t Outdated
@seanbudd seanbudd marked this pull request as draft April 18, 2024 04:01
@seanbudd seanbudd added this to the 2024.3 milestone Apr 18, 2024
@seanbudd seanbudd added the conceptApproved Similar 'triaged' for issues, PR accepted in theory, implementation needs review. label Apr 23, 2024
@SaschaCowley SaschaCowley marked this pull request as ready for review April 24, 2024 03:02
@SaschaCowley SaschaCowley requested a review from seanbudd April 24, 2024 03:36

@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 @SaschaCowley

@seanbudd

seanbudd commented May 7, 2024

Copy link
Copy Markdown
Member

Could you move the changes to the new changes.md for this PR please?

@seanbudd seanbudd added the blocked/merge-conflicts Merge conflicts exist on this PR label May 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

blocked/merge-conflicts Merge conflicts exist on this PR conceptApproved Similar 'triaged' for issues, PR accepted in theory, implementation needs review. queued for merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

NVDA does not read error messages referenced with aria-errormessage and aria-invalid

3 participants