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

Clarify wording in "Including Elements in the Accessibility Tree" section #1100

Merged
merged 15 commits into from
Apr 22, 2020

Conversation

carmacleod
Copy link
Contributor

@carmacleod carmacleod commented Oct 17, 2019

Resolves #841

Starting fresh with only the relevant changes from PR #950 to ensure that nothing bogus gets merged.

So... "take two": @cookiecrook @jnurthen @joanmarie @mcking65


Preview (#tree_exclusion) (#tree_inclusion) | Diff

@carmacleod carmacleod changed the title Resolves #841 Clarify wording in "Including Elements in the Accessibility Tree" section Oct 17, 2019
Copy link
Contributor

@mcking65 mcking65 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is better than the original, but still not sufficiently clear.

The item that addresses aria-activedescendant is not accurate. I provided a suggestion. It's a tricky one to get right. I hope the suggestion is clear. Alternatively, because there are 4 important conditions, it might be more clear if those conditions were formatted in a sublist. However, that would make the list structure itself a bit more complex by creating 3 layers of conditions.

- remove "already"
- merge "aria-hidden" item into "focusable" item
@jnurthen
Copy link
Member

@mcking65 please re-review

@carmacleod
Copy link
Contributor Author

@jnurthen @joanmarie @mcking65 Please review this. Other recent issues have been quoting the including/excluding sections that this PR covers, and I'm worried that pieces of the old sections may be reworded, and then we will have complicated conflicting words and thoughts to merge. It would be way easier to merge this first, before people start layering on new content.

@carmacleod
Copy link
Contributor Author

@jnurthen @joanmarie @mcking65 - ping.

Note that this PR will now close #1172 as well (from the wide review).

@JAWS-test
Copy link
Contributor

I'm not sure, if the following at role=presentation is clear enough:

In addition, the element's descendants and text content are generally included

Because not all descendants are included, but only those that are not required for the current role with role=presentation

@carmacleod
Copy link
Contributor Author

@JAWS-test

I'm not sure, if the following at role=presentation is clear enough:

In addition, the element's descendants and text content are generally included

Because not all descendants are included, but only those that are not required for the current role with role=presentation

The information is there... but unfortunately finding it requires reading the whole presentation role section, and not just the conflict resolution subsection.

Specifically, these 3 paragraphs, when taken together, explain fairly clearly:

The presentation role is used on an element that has implicit native semantics, meaning that there is a default accessibility API role for the element. Some elements are only complete when additional descendant elements are provided. For example, in HTML, table elements (matching the table role) require tr descendants (the row role), which in turn require th or td children (the cell, columnheader, rowheader roles). Similarly, lists require list item children. The descendant elements that complete the semantics of an element are described in WAI-ARIA as required owned elements.

When an explicit or inherited role of presentation is applied to an element with the implicit semantic of a WAI-ARIA role that has required owned elements, in addition to the element with the explicit role of presentation, the user agent MUST apply an inherited role of presentation to any owned elements that do not have an explicit role defined. Also, when an explicit or inherited role of presentation is applied to a host language element which has required children as defined by the host language specification, in addition to the element with the explicit role of presentation, the user agent MUST apply an inherited role of presentation to any required children that do not have an explicit role defined.

For any element with a role of presentation and which is not focusable, the user agent MUST NOT expose the implicit native semantics of the element (the role and its states and properties) to accessibility APIs. However, the user agent MUST expose content and descendant elements that do not have an explicit or inherited role of presentation. Thus, the presentation role causes a given element to be treated as having no role or to be removed from the accessibility tree, but does not cause the content contained within the element to be removed from the accessibility tree.

So I will keep the sentence you pointed out:

In addition, the element's descendants and text content are generally included.

but I will change the sentence right after that to point to the presentation role section instead of the conflict resolution subsection:

These exceptions and conditions are documented in the presentation (role) section.

@carmacleod
Copy link
Contributor Author

carmacleod commented Mar 16, 2020

@jnurthen Build is passing, there are no conflicts, and all review comments have been addressed, so even though pr-preview is failing, the 2 links in the opening comment still show an up-to-date preview:
Excluding Elements from the Accessibility Tree
Including Elements in the Accessibility Tree

So, this PR is ready for final review.

@carmacleod
Copy link
Contributor Author

@cookiecrook @jnurthen @joanmarie @mcking65 Please review.

The preview links are good. Note that both the Excluding elements and the Including elements sections have changes. The diff is broken - it's only showing deletions for some reason - so you'll have to look at the code to see what changed. 😄

Please note: this PR and it's (closed) parent PR have been waiting for almost a year (April 11, 2019). All previous review comments have been addressed, but there were enough changes that this should be reviewed again by all concerned parties. :)

Also please note that this contains changes that address wide review comments for 1.2.

It would be great if this could go in really soon, because I've started forgetting what's in here and accidentally making some of the same changes again. 😅

@carmacleod carmacleod mentioned this pull request Mar 21, 2020
carmacleod added a commit that referenced this pull request Mar 26, 2020
- adds math back in to children presentational list
@jnurthen
Copy link
Member

jnurthen commented Apr 3, 2020

@cookiecrook @mcking65 @joanmarie please re-review. I need to merge this.

Copy link
Contributor

@mcking65 mcking65 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The aria-activedescendant wording is still not quite accurate. Made a suggestion that avoids duplicating the aria-activedescendant specification.

@cookiecrook cookiecrook self-requested a review April 9, 2020 18:21
Make sure "focusable" will point to definition in aria-common
@carmacleod
Copy link
Contributor Author

@cookiecrook @joanmarie @mcking65 All comments addressed. Ready for re-re-review. :)

Note that I had to add the definition of focusable over in w3c/aria-common#39. Here's the prose:

An element is focusable if it can be given the input focus by either the user (for example, using mouse or keyboard) or by script.

I was afraid to open cans of worms if I mentioned tabindex or activedescendant. Keep it simple...

Let me know if any further changes are needed.

@carmacleod carmacleod requested a review from mcking65 April 9, 2020 21:58
Copy link
Contributor

@cookiecrook cookiecrook left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Getting pretty close. Thanks @carmacleod

@carmacleod
Copy link
Contributor Author

Just waiting on 2 things:

  1. need PR Add definition for Focusable aria-common#39 (definition of focusable) reviewed and merged first:

Focusable
An element is focusable if it can be given the input focus by either the user (for example, using mouse or keyboard) or by script.

  1. waiting on @aleventhal to answer @cookiecrook's question in Clarify wording in "Including Elements in the Accessibility Tree" section #1100 (comment) about this point in the tree inclusion section:

Elements that are focusable even if the element or one of its ancestor elements has its aria-hidden attribute set to true.

@cookiecrook
Copy link
Contributor

@carmacleod wrote:

  1. waiting on @aleventhal to answer @cookiecrook's question in #1100 (comment) about this point in the tree inclusion section:

We can address that in a follow-up issue. I don't think it needs to delay this one... Marking PR as Reviewed.

@carmacleod
Copy link
Contributor Author

Only waiting on 1 thing:

@jamesn @cookiecrook Please review PR w3c/aria-common#39 - you may not be receiving notifications from that repo. All that PR does is add a definition for focusable. For convenience, here are the words:

Focusable
An element is focusable if it can be given the input focus by either the user (for example, using mouse or keyboard) or by script.

@jnurthen Please merge this (#1100) as soon as possible. Today would be good. People are still trying to make conflicting changes in these 2 sections because this PR (and its parent) have been sitting here for so long. I don't think you need to wait for @joanmarie and @mcking65 to re-re-review. They have seen it many times.

@jnurthen jnurthen merged commit 37ca124 into master Apr 22, 2020
jnurthen added a commit that referenced this pull request Apr 22, 2020
carmacleod added a commit that referenced this pull request May 7, 2020
@jnurthen jnurthen deleted the issue841 branch July 23, 2020 22:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Tree Inclusion focus/activedescendant requirements need clarification
6 participants