-
-
Notifications
You must be signed in to change notification settings - Fork 625
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 In Focus Mode #13106
Conversation
1834c27
to
ab64564
Compare
ab64564
to
2208b45
Compare
2208b45
to
e69102f
Compare
So that focus mode can also be tested. When there is a contenteditable div, chrome/nvda sets the cursor to within the contenteditiable. Use F6 to toggle through to the document.
Introduce NVDAObject hasDetails / detailsSummary Speech and braille use NVDAObject.hasDetails and hasDetails via controlField Why is this preferrable over the state based approach?
Make textFromIAccessible a separate compilation unit
This does not seem intentional, and could cause bugs
_getIA2RelationFirstTarget is a faster way to get relation targets for IAccessible_2_2 objects.
e69102f
to
509c4e4
Compare
See test results for failed build of commit b035766262 |
@michaelDCurran I'd like your feedback on the UX, particularly with braille. But also I'd like to hear your thoughts on the suggestions from @lukaszgo1 |
I'd also like an additional reviewer for the C++, I don't feel comfortable reviewing it alone. I'll leave an approval when I am done reviewing everything (and happy), I've had a look at the rest of the PR already. |
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.
What about testing the situation where the aria-details is on a span around a link?
<p>Hello <span aria-details="xx" role="mark">this is a <a href="https://www.google.com/">test</a></span></p>
Will show details summary work when the caret is within the link? I'm not sure it will as NVDAObjectAtStart will just be the link, but details will be on its parent.
This comment has been minimized.
This comment has been minimized.
-Use focus obj rather than nav -Clarifing comments about fallback (focus obj) strategy.
I have addressed all the feedback and pushed 4 new commits. It turns out we can't find an example where getting the caret position will fail with Chromium / Firefox, theoretically the fallback to rely on the focus object is not necessary, however, I have opted to retain it since there is no negative impact, and the behavior from browsers is somewhat surprising here. I have attempted to add comments to clarify. |
This comment has been minimized.
This comment has been minimized.
Make all usages of AccessibleChildren conform to a consistent approach. Management of resources is automatic. Related to #13106
Background: Improved support for reporting details summary: #13106 Summary: Web authors would like to start using aria-details, however: - It is not enabled by default. - There is no default gesture to fetch the details. Information about longdesc: - The longdesc attribute is only valid on an img element. - longdesc does not seem to be exposed in Chrome / edge, it continues to work in Firefox. - longdesc is deprecated, mdn advises not using it and transitioning away from current uses. - longdesc has an incompatible UX with aria details. The longdesc attribute contains a URL, the browser exposes an action, when triggered the URL is opened in a new tab. In contrast, Aria details is expected to be read without leaving the page. - Anyone who still relies on longdesc support can assign an alternative gesture. Description of Change: - NVDA+d now runs aria-details summary script - Report 'has details' by default
Link to issue number:
Follow on from #12439
Summary of the issue:
Reporting "has details" and summarizing the details was not supported in focus mode or content editable.
Description of how this pull request fixes the issue:
Relies on
Changes in this PR:
IAccessible
(getTextFromIAccessible
moved fromia2LiveRegions.cpp
totextFromIAccessible.h/cpp
and exposed asnvdaInProcUtils_getTextFromIAccessible
viaIA2Support.cpp
)Testing strategy:
Known issues with pull request:
Currently only a single relation can be summarized.
Support for multiple details relations will be added later, there are various UX concerns that will need to be resolved.
Change log entries:
New features
Code Review Checklist: