-
-
Notifications
You must be signed in to change notification settings - Fork 659
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
Report ARIA details role #13649
Report ARIA details role #13649
Conversation
…to ariaDetailsRole
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
tests/system/robot/chromeTests.py
Outdated
<div id="definition-details-as-role" role="definition">details with role definition</div> | ||
<p> | ||
<span role="term">definition</span>: | ||
<span id="definition-details-as-role" role="definition">details with role definition</span> | ||
</p> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These shouldn't both exist (two elements with id="definition-details-as-role"
.
I'd also like the <dfn>
example added. It seems both the role="term"
/ role="definition"
case and the <p> A description for a <dfn>term</dfn> is in this paragraph.</p>
case share the similar problem about aria-details
pointing to the term rather than the definition. Illustrating this in the tests will be helpful when having the discussion later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've added documentation to the test samples and fixed it so we consistently point to the term in cfb74bf
See test results for failed build of commit 3437f37dd8 |
See test results for failed build of commit 99636e1cf6 |
Although the test failures look related to this change, similar tests have failed on other recent PR builds. I have started the build again. |
Link to issue number:
None
Summary of the issue:
When announcing if an object has details, more information can be provided about the role of the details.
For example, if a comment is tied to a word, "has comment" should be reported instead of "has details".
Description of how this pull request fixes the issue:
Collects the details role.
The attribute details role is determined in a number of cases.
Braille
Use
has cmmt
to report presence of comment role aria-details target. DiscussionFocus Mode
detailsRole is normalized on the NVDAObject level to a
controlType.Role
.Chromium
The IA2 attribute
details-roles
is used to get the role.This supports the following roles (code):
comment, definition, doc-endnote, doc-footnote
. Other roles are given a value of * .Currently only chromium supports
details-roles
.Additionally,
doc-endnote
anddefinition
are not supported IA2 attributes, and are not supported in NVDA widely.We limit reporting for all cases by only reporting the fully supported
details-roles
:doc-footnote, comment
Other roles are reported as "has details".
FireFox
The related details node is fetched using in process injection, and the IAccessible information is retrieved.
The role is determined from the IAccessible role of the related node.
This is slower and provides a wider reporting of roles.
Browse Mode
The detailsRole attribute is added directly to the buffer, either as a descriptive role string or a role integer as a string.
Testing strategy:
The system test cases test the details role for Chrome, using both focus and browse mode.
runsystemtests.bat -t "*aria details*"
Equivalent manual testing was performed using those test cases on both Chrome and FireFox.
Known issues with pull request:
Braille tests will not work as expected as braille only reports details in marked content. #13815
Change log entries:
New features
Code Review Checklist: