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

Update Links with identical accessible names and context serve equivalent purpose rule #2007

Merged
Show file tree
Hide file tree
Changes from 16 commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
98cafd4
Update links-with-identical-names-and-context-serve-equivalent-purpos…
giacomo-petri Jan 17, 2023
2537eb4
Update links-with-identical-names-and-context-serve-equivalent-purpos…
giacomo-petri Jan 17, 2023
01dae76
Update programmatically-determined-link-context.md
giacomo-petri Jan 17, 2023
ad72504
Add files via upload
giacomo-petri Jan 17, 2023
881d618
Update links-with-identical-names-and-context-serve-equivalent-purpos…
giacomo-petri Jan 17, 2023
05c2667
Update links-with-identical-names-and-context-serve-equivalent-purpos…
giacomo-petri Jan 17, 2023
d96b5d0
Update links-with-identical-names-and-context-serve-equivalent-purpos…
giacomo-petri Jan 17, 2023
efab48d
Merge branch 'act-rules:develop' into giacomo-petri-links-with-identi…
giacomo-petri Jan 17, 2023
615093c
Update links-with-identical-names-and-context-serve-equivalent-purpos…
giacomo-petri Jan 17, 2023
c68c806
Update links-with-identical-names-and-context-serve-equivalent-purpos…
giacomo-petri Jan 17, 2023
b535ec4
Update links-with-identical-names-and-context-serve-equivalent-purpos…
giacomo-petri Jan 17, 2023
258181e
Update links-with-identical-names-and-context-serve-equivalent-purpos…
giacomo-petri Jan 17, 2023
2fabffa
Update links-with-identical-names-and-context-serve-equivalent-purpos…
giacomo-petri Jan 17, 2023
48206ba
Apply suggestions from code review
giacomo-petri Jan 19, 2023
6e601e4
Update links-with-identical-names-and-context-serve-equivalent-purpos…
giacomo-petri Jan 19, 2023
cbb490b
Update programmatically-determined-link-context.md
giacomo-petri Jan 19, 2023
9f567b0
Apply suggestions from code review
giacomo-petri Jan 19, 2023
c344eab
Update _rules/links-with-identical-names-and-context-serve-equivalent…
giacomo-petri Jan 19, 2023
4d2f2bc
Update links-with-identical-names-and-context-serve-equivalent-purpos…
giacomo-petri Jan 20, 2023
2788921
Update links-with-identical-names-and-context-serve-equivalent-purpos…
giacomo-petri Jan 24, 2023
28a3617
Update links-with-identical-names-and-context-serve-equivalent-purpos…
giacomo-petri Jan 24, 2023
1b38e33
Apply suggestions from code review
giacomo-petri Jan 25, 2023
ac87eed
Update links-with-identical-names-and-context-serve-equivalent-purpos…
giacomo-petri Jan 27, 2023
e9045c6
Add files via upload
giacomo-petri Jan 30, 2023
a51f5e5
Update links-with-identical-names-and-context-serve-equivalent-purpos…
giacomo-petri Jan 30, 2023
8e4a351
Update _rules/links-with-identical-names-and-context-serve-equivalent…
giacomo-petri Jan 30, 2023
d97d0d4
Update links-with-identical-names-and-context-serve-equivalent-purpos…
giacomo-petri Jan 31, 2023
5142cdb
Apply suggestions from code review
giacomo-petri Feb 9, 2023
e41594c
Update links-with-identical-names-and-context-serve-equivalent-purpos…
giacomo-petri Feb 9, 2023
87b36e0
Update contact-us.html
giacomo-petri Feb 9, 2023
3aa892f
Update links-with-identical-names-and-context-serve-equivalent-purpos…
giacomo-petri Feb 9, 2023
b8e7024
Update links-with-identical-names-and-context-serve-equivalent-purpos…
giacomo-petri Feb 9, 2023
60caf35
Update _rules/links-with-identical-names-and-context-serve-equivalent…
giacomo-petri Feb 9, 2023
c72b069
Update links-with-identical-names-and-context-serve-equivalent-purpos…
giacomo-petri Feb 9, 2023
e175764
Merge branch 'develop' into giacomo-petri-links-with-identical-names-…
giacomo-petri Apr 26, 2023
0cb1218
Update links-with-identical-names-and-context-serve-equivalent-purpos…
giacomo-petri Apr 26, 2023
945c770
Update links-with-identical-names-and-context-serve-equivalent-purpos…
giacomo-petri Apr 26, 2023
173e06d
Update _rules/links-with-identical-names-and-context-serve-equivalent…
giacomo-petri Apr 27, 2023
7319d17
Update spelling-ignore.yml
giacomo-petri Apr 27, 2023
fdbfc03
Merge branch 'act-rules:develop' into giacomo-petri-links-with-identi…
giacomo-petri May 8, 2023
8bb91da
Merge branch 'develop' into giacomo-petri-links-with-identical-names-…
Jym77 Jul 13, 2023
27b5cb6
Update _rules/links-with-identical-names-and-context-serve-equivalent…
giacomo-petri Sep 21, 2023
7ccba3c
added comma
giacomo-petri Sep 21, 2023
0791c3f
updated secondary requirements desc
giacomo-petri Sep 21, 2023
15ebd91
Updates after confrontation with Wilco
giacomo-petri Nov 3, 2023
d8cd486
Merge branch 'develop' into giacomo-petri-links-with-identical-names-…
Jym77 Dec 7, 2023
7352124
Merge branch 'develop' into giacomo-petri-links-with-identical-names-…
Jym77 Jan 11, 2024
2e61084
Merge branch 'develop' into giacomo-petri-links-with-identical-names-…
Jan 25, 2024
f734369
Merge branch 'develop' into giacomo-petri-links-with-identical-names-…
Jym77 Feb 12, 2024
ab8cf03
Update _rules/links-with-identical-names-and-context-serve-equivalent…
giacomo-petri Feb 12, 2024
d16ee2b
Update _rules/links-with-identical-names-and-context-serve-equivalent…
giacomo-petri Feb 12, 2024
aa9afa0
Update _rules/links-with-identical-names-and-context-serve-equivalent…
giacomo-petri Feb 12, 2024
b400627
Update links-with-identical-names-and-context-serve-equivalent-purpos…
giacomo-petri Feb 12, 2024
1a79152
Merge branch 'develop' into giacomo-petri-links-with-identical-names-…
carlosapaduarte Feb 22, 2024
cd92626
Merge branch 'develop' into giacomo-petri-links-with-identical-names-…
Jym77 Mar 22, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -42,20 +42,20 @@ This rule applies to any set of two or more [HTML or SVG elements][] for which a
- the elements are in the same [web page (HTML)][]; and
- the elements are [included in the accessibility tree][included in the accessibility tree]; and
- the elements have [matching][] [accessible names][accessible name] that are not empty (`""`); and
- have the same [programmatically determined link context][].
- the elements have the same [programmatically determined link context][]; and
- the purpose of the elements is not [ambiguous to users in general](https://www.w3.org/TR/WCAG21/#dfn-ambiguous-to-users-in-general).
Copy link
Member

Choose a reason for hiding this comment

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

I'm having second thoughts about this. The definition is

the purpose cannot be determined from the link and all information of the Web page presented to the user simultaneously with the link

I don't think this is objective. I agree it is unambiguous, so we might rewrite the rule in a way that moves this condition from the applicability to the expectation (and update the examples accordingly).

What do you think?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

@carlosapaduarte ,

I agree, even more considering that the definition of "ambiguous to users in general" is far away from our definition of "programmatically determined link context".

On it

Copy link
Member

Choose a reason for hiding this comment

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

My suggestion would be to update the current expectation to something like

For the links in each set of target elements, one of the following is true:

Copy link
Collaborator

Choose a reason for hiding this comment

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

The we don't even need the exception in the first bullet:

either

  • the links resolve to the same resource; or
  • the links are ambiguous

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

  • Links not ambiguous to users in general has been removed from Applicability
  • Added expectation as per suggestions
  • Slightly changed the background note about ambiguous links to reflect new applicability
  • Moved Inapplicable example n.8 to passed example 9 (changing a bit the description).


**Note:** The test target for this rule is the full set of link elements that share the same [matching][] [accessible name][] and [programmatically determined link context][].

## Expectation
## Expectation 1
giacomo-petri marked this conversation as resolved.
Show resolved Hide resolved

When followed, the links in each set of target elements resolve to the [same resource][] or to [equivalent resources](#equivalent-resource).

**Note**: Resolving the links includes potential redirects, if the redirects happen instantly.

## Assumptions

- This rule assumes that the purpose of the links with identical [accessible names][accessible name] and [context][programmatically determined link context] would not be ambiguous to users in general, which is the exception mentioned in [Success Criterion 2.4.4 Link Purpose (In Context)][sc244]. If the links are ambiguous to users in general, users of assistive technologies are not at a disadvantage when viewing the links, which makes it more of a general user experience concern than an accessibility issue.
- This rule assumes that, within the context of the test subject, the description provided by the [accessible name][] of a link can only accurately describe one resource (notably, homonyms alone are not used as link names). Thus, if two or more links have the same [accessible name][] but resolve to different resources, at least one of them does not describe its purpose.
- This rule assumes that, within the context of the test subject, the description provided by the [accessible name][] of a link can only accurately describe one resource (notably, homonyms alone are not used as link names). Thus, if two or more links have the same [accessible name][] but resolve to different resources, at least one of them does not accurately describe its purpose.
Copy link
Member

Choose a reason for hiding this comment

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

This is pretty difficult to read, would you mind trying to simplify the language of these?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I'm happy to make those changes, but the existing content is currently structured this way.
In comparison to the current version (available at https://www.w3.org/WAI/standards-guidelines/act/rules/fd3a94/proposed/#assumptions), I've made two edits:

  • I removed the initial bullet point, which is no longer relevant given the modifications made
  • and I introduced the last point to explicitly state that relying on reading the URL is not regarded as a viable method for distinguishing links.

- This rule assumes that assistive technologies are exposing all links on the page in the same way no matter which [document tree](https://dom.spec.whatwg.org/#document-trees) they are in. If an assistive technology requires the user to "enter" an `iframe` or a [shadow tree][] before exposing its links, then it is possible for two links to have identical name and context but resolve to different resources without failing [Success Criterion 2.4.4 Link Purpose (In Context)][sc244] (if said links are in separate [documents][document] or [shadow trees][shadow tree])

## Accessibility Support
Expand All @@ -68,10 +68,13 @@ This rule is designed specifically for [2.4.4 Link Purpose (In Context)][sc244],

This rule specifically targets links within the exact same context. Links with identical name that are in identical (but not the same) contexts also fail [2.4.4 Link Purpose (In Context)][sc244]. However, defining "identical context" unambiguously was not really possible and was left out of this rule.

Elements that are [inheriting semantic][] `link` nodes within each test target are distinguishable each other by some user. This means that this rule applies to links with identical accessible names and context that are not [ambiguous to users in general](https://www.w3.org/TR/WCAG21/#dfn-ambiguous-to-users-in-general), which is the exception mentioned in Success Criterion 2.4.4 Link Purpose (In Context). If the links are ambiguous to users in general, users of assistive technologies are not at a disadvantage when viewing the links, which makes it more of a general user experience concern than an accessibility issue.
giacomo-petri marked this conversation as resolved.
Show resolved Hide resolved

### Bibliography

- [Understanding Success Criterion 2.4.4: Link Purpose (In Context)](https://www.w3.org/WAI/WCAG21/Understanding/link-purpose-in-context.html)
- [HTML Specification - URL parsing](https://html.spec.whatwg.org/#resolving-urls)
- [Ambiguous to users in general](https://www.w3.org/TR/WCAG21/#dfn-ambiguous-to-users-in-general)
giacomo-petri marked this conversation as resolved.
Show resolved Hide resolved

## Test Cases

Expand Down Expand Up @@ -217,92 +220,120 @@ These two SVG `a` and HTML `a` elements have the same [accessible name][], same

#### Failed Example 1
Copy link
Member

Choose a reason for hiding this comment

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

I'm reluctant to add this example TBH. This is first and foremost a 1.1.1 issue. Informative images are missing a text alternative. I think that this then results in a 2.4.4 failure is kind of incidental. In the same way that putting aria-hidden on the text of a link makes it a 1.3.1 issue, but that then also fits under 2.4.4.

This feels a bit more like a "gotcha" test case for tools than something that actually adds something important edge case. Even if we do keep the example I would prefer not to see it as the first one, as its far from the most obvious failure you can see get under this criterion.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I'm fine moving the example below, but I don't agree that the 2.4.4 is "incidental" here.

If we have an empty link due to child image with empty alt attribute such as:

<a href="test"><img src="test.png" alt=""></a>

the empty link is still failing 2.4.4. Of course it's "incidental" to the empty alt attribute and the image is failing 1.1.1, but both the issues are valid and should be triggered by tools.

Copy link
Member

Choose a reason for hiding this comment

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

I don't mind having one or two examples of images in here. I don't think the examples should be exclusively about images. The far more common scenario is with just link text. I think the examples we had before did a better job of demonstrating that problem than the new examples do.

Copy link
Member

Choose a reason for hiding this comment

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

Suggested failure examples without images:

<p>W3C pages for ACT:</p>
<p><a href="//">ACT Rules</a></p>

<p>Community group for ACT:</p>
<p><a href="//Different">ACT Rules</a></p>
<p>
  To reach us you can <a href="">Contact</a> us via e-mail, or <a href="">contact</a> us on Facebook.
</p>


These two HTML `a` elements have the same [accessible name][] and [context][programmatically determined link context] but go to different resources.
These two HTML `a` elements have the same [accessible name][] and [context][programmatically determined link context]. They are visually distinguishable thanks to the relationships conveyed through CSS, but go to different resources.

```html
<html lang="en">
<p>
We are on social media:
<a href="https://act-rules.github.io/">ACT rules</a>
<a href="https://www.w3.org/community/act-r/">ACT rules</a>
<h2>Contact us:</h2>
<a href="https://act-rules.github.io/" style="display:inline-block; background-image: url(/test-assets/shared/chat.png); background-position: 0; background-repeat: no-repeat; background-size: 40px; padding: 20px 0 20px 50px;">Contact Us</a>
giacomo-petri marked this conversation as resolved.
Show resolved Hide resolved
<a href="https://www.w3.org/community/act-r/" style="display:inline-block; background-image: url(/test-assets/shared/phone.png); background-position: 0; background-repeat: no-repeat; background-size: 40px; padding: 20px 0 20px 50px; margin-left:40px;">Contact Us</a>
giacomo-petri marked this conversation as resolved.
Show resolved Hide resolved
</p>
</html>
```

#### Failed Example 2

These two HTML `a` elements have the same [accessible name][] and [context][programmatically determined link context]. They link to web pages that are similar, but have different information in their content.
These two HTML `a` elements have the same [accessible name][] and [context][programmatically determined link context], but go to different resources.
giacomo-petri marked this conversation as resolved.
Show resolved Hide resolved

```html
<html lang="en">
<div>
Learn more (<a href="/test-assets/links-with-identical-names-serve-equivalent-purpose-b20e66/about/contact.html"
>Contact us</a
>) and get in touch (
<a href="/test-assets/links-with-identical-names-serve-equivalent-purpose-b20e66/admissions/contact.html"
>Contact us</a
>)
<span style="text-align:center;">Contact us</span>
<span style="display:flex; justify-content:space-around;">
<img src="/test-assets/shared/chat.png" alt="Chat" style="width:50%;">
<img src="/test-assets/shared/phone.png" alt="Phone" style="width:50%;">
</span>
<span style="display:flex; justify-content:space-around;">
<a href="https://act-rules.github.io/">Contact Us</a>
<a href="https://www.w3.org/community/act-r/">Contact Us</a>
Copy link
Collaborator

Choose a reason for hiding this comment

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

Actually, also wondering what happens with browsers that show the link URL when hovering them (e.g., Chrome shows it in the bottom left corner of the window). I do personally use that info sometimes, essentially to disambiguate links before clicking 🤔
But then of course, if the URL is enough to disambiguate links, then they are never really ambiguous to users in general unless the URL itself is non-informative (e.g. contact1.html vs contact2.html).
Should we have an Accessibility Support note to mention that?

Copy link
Collaborator Author

@giacomo-petri giacomo-petri Jan 26, 2023

Choose a reason for hiding this comment

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

That's an interesting point to consider while proceeding with your suggested proposal for expectation:

For each pair of links in each target set, either the links go to the same place, or there is no visual information on the page to determine they go to different places.

as "visual information on the page" might be not enough clear and might include also the browser visual experience (e.g. as you said Chrome shows the URL on hover or focus).

We might say something like:

For each pair of links in each target set, one of the following is true:

  • either the links resolve to the [same resource][] or to equivalent resources; or
  • links resolve to different resources but there is no visual information within the content of the page to predict they go to specific different contents.

With "within the content" we restrict the scope to the visual presentation of the HTML content, preventing people to include visual browsers functionalities that give suggestions/hint.


I'm not really concerned about the hover functionality, as it behaves consistently with assistive technologies as well; for example, using VO, if you press ctrl+opt+shift+U you can listen the href attribute. Similarly, if you use VoiceControl, you can say "Move mouse to $number" to display the Chrome "hint" with url info.

On the other hand, how many users are aware about that?

And, even if the URL is different and might help differentiating the destinations, there might be url structures that are more or less complex to be understood, especially for non-expert people; if you think about something like:

or

or

they are very different in terms of understanding.
I would say that, even if the differences might be perceived and understood by someone using the url, the acc name and visual context within the page are still ambiguous to users in general.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Good point. Maybe that should be an assumption (that reading the URL as per hovering in a browser or invoking some shortcut in a screen reader isn't enough to disambiguate as far as WCAG is concerned).
Maybe also strengthening the examples by using URLs that are somewhat confusing. On that direction, I think we can build on top of your last example with query parameters that are a SHA to a customers support ticket or products something like that <a href="../catalog/product.html?product=432847382974328937428942896">View product</a> <a href="../catalog/product.html?product=438243892748329743829">View product</a>
That would totally be ambiguous even with the URLs… But could be visually disambiguated by aligned pictures of the products (the same way you did for the chat/phone icons).

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

  • updated expectation to every pair of links, as per @Jym77 suggestion;
  • added assumption to clarify that browser/AT support to display/announce the URL is not enough to disambiguate links.

TODO:
update some example by using confusing URL

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Added examples with query parameters to emphasize ambiguity.

</span>
</div>
</html>
```

#### Failed Example 3

These two HTML `a` elements have the same [accessible name][] and [context][programmatically determined link context]. They link to web pages that are similar, but have different information in their content.
giacomo-petri marked this conversation as resolved.
Show resolved Hide resolved

```html
<html lang="en">
<div>
<span style="text-align:center;">Contact us</span>
<span style="display:flex; justify-content:space-around;">
<img src="/test-assets/shared/chat.png" alt="Chat" style="width:50%;">
<img src="/test-assets/shared/phone.png" alt="Phone" style="width:50%;">
</span>
<span style="display:flex; justify-content:space-around;">
<a href="/test-assets/links-with-identical-names-serve-equivalent-purpose-b20e66/about/contact.html">Contact Us</a>
<a href="/test-assets/links-with-identical-names-serve-equivalent-purpose-b20e66/admissions/contact.html">Contact Us</a>
</span>
Copy link
Collaborator

Choose a reason for hiding this comment

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

I'm not sure the chat/phone disambiguation is good enough given the links.
That is, as a sighted user, how would I know that "Contact us (phone)" is the link to click to access the Admission office rather than general reception?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I've added 2 blocks in /test-assets/links-with-identical-names-serve-equivalent-purpose-b20e66/contact-us.html file to manage this scenario. I've created similar breadcrumbs, similar services navigation, similar headings but different content, to reflect the failure description.

</div>
</html>
```

#### Failed Example 4

These two HTML `span` elements have an [explicit role][] of link, same [accessible name][] and [context][programmatically determined link context], but link to resources that offer different content.
giacomo-petri marked this conversation as resolved.
Show resolved Hide resolved

```html
<html lang="en">
<p>
Learn more (<span
<div>
<span style="text-align:center;">Contact us</span>
<span style="display:flex; justify-content:space-around;">
<img src="/test-assets/shared/chat.png" alt="Chat" style="width:50%;">
<img src="/test-assets/shared/phone.png" alt="Phone" style="width:50%;">
</span>
<span style="display:flex; justify-content:space-around;">
<span
role="link"
tabindex="0"
onclick="location='/test-assets/links-with-identical-names-serve-equivalent-purpose-b20e66/about/contact.html'"
>Contact us</span
>) and get in touch (<span
onclick="location='/test-assets/links-with-identical-names-serve-equivalent-purpose-b20e66/about/contact.html'">Contact Us</a>
giacomo-petri marked this conversation as resolved.
Show resolved Hide resolved
<span
role="link"
tabindex="0"
onclick="location='/test-assets/links-with-identical-names-serve-equivalent-purpose-b20e66/admissions/contact.html'"
>Contact us</span
>)
</p>
onclick="location='/test-assets/links-with-identical-names-serve-equivalent-purpose-b20e66/admissions/contact.html'">Contact Us</a>
giacomo-petri marked this conversation as resolved.
Show resolved Hide resolved
</span>
</div>
</html>
```

#### Failed Example 4
#### Failed Example 5

These two SVG `a` elements have the same [accessible name][] and [context][programmatically determined link context] but link to different resources.

```html
<html lang="en">
<p>
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<a href="https://act-rules.github.io/" aria-label="ACT rules">
<circle cx="50" cy="40" r="35" />
<svg enable-background="new 0 0 264 120" viewBox="0 -20 264 140" xmlns="http://www.w3.org/2000/svg">
<text>Contact us</text>
<a href="https://act-rules.github.io/" aria-label="Contact Us">
<path d="m212.0806 68.0717c-10.3917 10.3852-22.4311 20.3239-27.1905 15.5646-6.8075-6.8075-11.0088-12.7418-26.0285-.6696-15.0132 12.0657-3.4792 20.1139 3.1182 26.7047 7.6149 7.6149 36.0001.407 64.0571-27.6434 28.0504-28.057 35.2386-56.4422 27.6172-64.0571-6.5974-6.604-14.6062-18.1314-26.6719-3.1182-12.0723 15.0132-6.1444 19.2145.6761 26.0285 4.7397 4.7593-5.1925 16.7988-15.5777 27.1905z"/>
</a>

<a href="https://www.w3.org/community/act-r/">
<text x="50" y="90" text-anchor="middle">
ACT rules
</text>
<a href="https://www.w3.org/community/act-r/" aria-label="Contact Us">
<path d="m105 7.5h-90c-8.2576 0-15 6.7497-15 15v52.5c0 8.2498 6.7424 15 15 15h30l30 22.5v-22.5h30c8.2498 0 15-6.7502 15-15v-52.5c0-8.2503-6.7502-15-15-15zm-80.7903 52.5c-6.2132 0-11.255-5.0372-11.255-11.25 0-6.2132 5.0418-11.25 11.255-11.25 6.2128 0 11.245 5.0418 11.245 11.25 0 6.2077-5.0322 11.25-11.245 11.25zm35.7953 0c-6.2128 0-11.255-5.0372-11.255-11.25 0-6.2132 5.0423-11.25 11.255-11.25 6.2132 0 11.245 5.0368 11.245 11.25 0 6.2128-5.0317 11.25-11.245 11.25zm35.7958 0c-6.2132 0-11.2555-5.0372-11.2555-11.25 0-6.2132 5.0423-11.25 11.2555-11.25 6.2128 0 11.2445 5.0368 11.2445 11.25 0 6.2128-5.0318 11.25-11.2445 11.25z"/>
</a>
</svg>
</p>
</html>
```

#### Failed Example 5
#### Failed Example 6

These two HTML `a` elements with the same [accessible name][] and [context][programmatically determined link context] resolve to the [same resource][] after redirect, but the redirect is not instant.

```html
<html lang="en">
<p>
Learn more (<a href="/test-assets/links-with-identical-names-serve-equivalent-purpose-b20e66/index.html"
>Contact us</a
>) and get in touch (<a
href="/test-assets/links-with-identical-names-serve-equivalent-purpose-b20e66/redirect1.html"
>Contact us</a
>)
<span style="text-align:center;">Contact us</span>
<span style="display:flex; justify-content:space-around;">
<img src="/test-assets/shared/chat.png" alt="Chat" style="width:50%;">
<img src="/test-assets/shared/phone.png" alt="Phone" style="width:50%;">
</span>
<span style="display:flex; justify-content:space-around;">
<a href="/test-assets/links-with-identical-names-serve-equivalent-purpose-b20e66/index.html">Contact Us</a>
<a href="/test-assets/links-with-identical-names-serve-equivalent-purpose-b20e66/redirect1.html">Contact Us</a>
</span>
</p>
</html>
```
Expand Down Expand Up @@ -398,6 +429,34 @@ These two HTML `a` elements have the same [accessible name][] but different [pro
<div><a href="https://www.w3.org/International/">Read more</a> about the W3C internationalization</div>
```

#### Inapplicable Example 7

These two HTML `a` elements have the same [accessible name][] and [context][programmatically determined link context], but the second one is not [included in the accessibility tree][included in the accessibility tree].

```html
<html lang="en">
<p>
We are on social media:
<a href="https://act-rules.github.io/">ACT rules</a>
<a aria-hidden="true" href="https://www.w3.org/community/act-r/">ACT rules</a>
WilcoFiers marked this conversation as resolved.
Show resolved Hide resolved
</p>
</html>
```

#### Inapplicable Example 8

These two HTML `a` elements have the same [accessible name][] and [context][programmatically determined link context], but are ambiguous to users in general.

```html
<html lang="en">
<p>
We are on social media:
<a href="https://act-rules.github.io/">ACT rules</a>
<a href="https://www.w3.org/community/act-r/">ACT rules</a>
</p>
</html>
```

[accessible name]: #accessible-name 'Definition of accessible name'
[document]: https://dom.spec.whatwg.org/#concept-document 'Definition of document'
[explicit role]: #explicit-role 'Definition of explicit role'
Expand Down
Binary file added test-assets/shared/chat.png
Copy link
Member

Choose a reason for hiding this comment

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

Where did these images come from? Are we free to use these? Please add credit for these images to the acknowledgement section.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Images have been created by UsableNet designers and I have the approval to publish them. Please, let me know if something else is needed.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added test-assets/shared/phone.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.