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

WCAG mapping for 'Link has non-empty accessible name' c487ae #1875

Closed
dd8 opened this issue Jun 21, 2022 · 7 comments
Closed

WCAG mapping for 'Link has non-empty accessible name' c487ae #1875

dd8 opened this issue Jun 21, 2022 · 7 comments
Assignees
Labels

Comments

@dd8
Copy link
Collaborator

dd8 commented Jun 21, 2022

The mapping for this rule is:

4.1.2 Name, Role, Value (Level A)
2.4.4 Link Purpose (In Context) (Level A)
2.4.9 Link Purpose (Link Only) (Level AAA)

but failed example 9 is also a 1.1.1 failure:

https://act-rules.github.io/rules/c487ae#failed-example-9

This example matches the 1.1.1 failure condition in F65
https://www.w3.org/TR/WCAG20-TECHS/F65.html

@Jym77
Copy link
Collaborator

Jym77 commented Jun 23, 2022

The rules maps to SC that are guaranteed to fail if the rule fails, to maintain the fail-on-fail relationship and prevent false positives.

That is, we guarantee that when the rule fails than 2.4.4, 2.4.9 and 4.1.2 also fail.
If we added a 1.1.1 mapping, we would have a lot of false positive where the rule can fail on a page where 1.1.1 is satisfied, but the mapping would still say "if the rule has at least one failed outcome, then 1.1.1 fails", which would be incorrect.

This is why this rule does not map to 1.1.1. It is possible that failing this rule creates a failure of 1.1.1, but it is not guaranteed.

@dd8
Copy link
Collaborator Author

dd8 commented Jun 24, 2022

That's fine. Just wanted to flag that failing SC 1.1.1 in addition to the other SCs for Example 9 is correct, so the conformance mapping cannot require that only 4.1.2, 2.4.4 and 2.4.9 are flagged for Example 9

@Jym77
Copy link
Collaborator

Jym77 commented Jun 28, 2022

That's an awfully good point 🤔

On one hand, Understanding ACT Consistency says that the tool should report all the SC that are expected to fail but doesn't mention reporting more SC (for all or some of the test cases).
On the other hand it seems that on some rule Alfa has a partially consistent mapping only because it reports too many SCs…

But it may indeed be the case that reporting "too many" SCs is actually fine for some (or even all…) failed test cases. And we should probably consider the implementation as consistent in these cases.

I do feel this ties a bit with the discussion we had around removing SCs for some rules (#1854 (review), CG call, and #1862 for the latest occurrence). Because a solution could be to say "this rule must report A.B.C and may report X.Y.Z".

@WilcoFiers
Copy link
Member

This is different from the interpretation we took when we wrote this rule. I don't think area elements should fail 1.1.1, they aren't the non-text content, they are links on top of non-text content. I think this technique is wrong. We can debate whether or not this was the correct decision, but the intent was to explicitly not fail area elements under 1.1.1. If we want to change that we may need to pull area elements into a separate rule, in the same way that we put image buttons into a separate rule.

I don't think that's the correct interpretation though. If you take a native link with no content, give it an accessible name, and position it on top of an image to simulate the effect of an area element - I don't think that suddenly then becomes non-text content. Similarly, I don't think links inside SVG are non-text content, regardless of if those have <text> inside them or not.

@dd8
Copy link
Collaborator Author

dd8 commented Jun 28, 2022

I don't think area elements should fail 1.1.1, they aren't the non-text content, they are links on top of non-text content

In some cases I think they are non-text content. For example, a clickable map of the world with an <area shape=poly> for each country. There's a 1-to-1 mapping between each area outline and each country shape on the map. The fact they're in an area element is an implementation detail - you could also implement the world map as an SVG with an <a> element round each country shape. WCAG is technology agnostic, so there shouldn't be a difference in failures for 2 world maps that are implemented differently, but look and behave identically.

The Understanding 1.1.1 document has 2 techniques (H24 and F65) relating to area elements and also this text:

For non-text content that is a control or accepts user input , such as images used as submit buttons, image maps or complex animations, a name is provided to describe the purpose of the non-text content so that the person at least knows what the non-text content is and why it is there

My understanding of this is the image map areas accept user input (clicks) so need they text alternatives.

If the missing area alt doesn't fail 1.1.1, how could you satisfy 1.1.1. for each clickable country on the world map?

@kengdoj
Copy link
Collaborator

kengdoj commented Jun 12, 2023

SC 1.1.1 should be mapped as a secondary requirement.

This rule was used as Example 9 in the ACT Rules Format draft update.

@kengdoj
Copy link
Collaborator

kengdoj commented Jul 20, 2023

Update will be made by #2060.

@kengdoj kengdoj closed this as completed Jul 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants