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

"Links with identical accessible names rules" should check link text and not accessible name #1378

Closed
dd8 opened this issue Jul 8, 2020 · 3 comments

Comments

@dd8
Copy link
Collaborator

dd8 commented Jul 8, 2020

The normative text in both SC 2.4.4 and 2.4.9 applies to the "link text" but the rules use the accessible name.

Success Criterion 2.4.4 Link Purpose (In Context) (Level A): The purpose of each link can be determined from the link text alone or from the link text together with its programmatically determined link context, except where the purpose of the link would be ambiguous to users in general.
https://www.w3.org/WAI/WCAG21/Understanding/link-purpose-in-context.html
https://act-rules.github.io/rules/fd3a94

Success Criterion 2.4.9 Link Purpose (Link Only) (Level AAA): A mechanism is available to allow the purpose of each link to be identified from link text alone, except where the purpose of the link would be ambiguous to users in general.
https://www.w3.org/WAI/WCAG21/Understanding/link-purpose-link-only
https://act-rules.github.io/rules/b20e66

This makes a difference in the following example:

<a href="http://facebook.com" aria-label="Follow us on Facebook or Twitter">Facebook</a>
<a href="http://twitter.com" aria-label="Follow us on Facebook or Twitter">Twitter</a>

See discussion on
w3c/wcag#1202

@dd8
Copy link
Collaborator Author

dd8 commented Jul 30, 2020

As discussed in w3c/wcag#1202 (comment) the normative text of 2.4.4 and 2.4.9 is problematic since "link text" conflates the accessible name and visible label

The examples in the WCAG understanding document mix these up:

This Success Criterion helps people with motion impairment by letting them skip links that they are not interested in, avoiding the keystrokes needed to visit the referenced content and then returning to the current content.

These folks are most likely using vision to read the visible label

People with cognitive limitations will not become disoriented by multiple means of navigation to and from content they are not interested in.

The folks are most likely using vision to read the visible label, though they may be using simplified styles (e.g. reader view)

People with visual disabilities will be able to determine the purpose of a link by exploring the link's context.

These folks may be using a screen reader and hearing the accessible name, or may be using a screen magnifier and seeing the visible label.

@WilcoFiers
Copy link
Member

I know this was discussed extensively by the people who worked on it, and they all came to the conclusion. This is not a mistake in a the rule, but a disagreement about the correct interpretation of it. I'll leave this open so we can have the conversation, but I think we're not going to get an answer to this until we have more implementors speaking out either for, or against the interpretation in this rule.

@WilcoFiers
Copy link
Member

Talked about this on the CG call today. Most folks were in agreement that this does need to check the accessible name. I think the strongest argument in favour of this is technique ARIA8:

https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA8
Check that the value of the aria-label attribute properly describes the purpose of the link element.

This suggests that the SC could be satisfied by providing the necessary information to the accessible name. I agree that "link text" is ambiguous, and could be taken to mean either the label, or the accessible name, but I think the techniques written for this rule, especially the ARIA techniques suggest this the correct reading is to treat "link text" to mean "accessible name".

If those ARIA techniques were to change, I think we can revisit this. For now I'm going to close the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants