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

Disabled link cleanup #34886

Merged
merged 6 commits into from
Sep 6, 2021
Merged

Disabled link cleanup #34886

merged 6 commits into from
Sep 6, 2021

Conversation

patrickhlauke
Copy link
Member

per https://www.w3.org/TR/html-aria/#docconformance

It is NOT RECOMMENDED to use aria-disabled="true" on an a element with an href attribute.

NOTE
If a link needs to be "disabled", remove the href attribute.

This PR removes the unnecessary href="#", tabindex="-1", and aria-disabled="true" from disabled links in both docs pages and examples. aria-disabled="true" is kept for disabled link-based buttons (that have role="button") as there it's appropriate to use (you want to convey to assistive technologies that this thing you're claiming is a button is also disabled at the moment)

Further, the PR extends the "Link functionality caveat" to show the "proper" way (removing href and adding .disabled class only) to disable a link, but then explains what to do if that's not possible (and then keeps an example with all the traditional href="#" tabindex="-1" aria-disabled="true", but explains clearly that it's not ideal). Same sort of explanation is also added to the pointer event utilities page

x-ref #34874 (comment)

per https://www.w3.org/TR/html-aria/#docconformance

> It is NOT RECOMMENDED to use `aria-disabled="true"` on an `a` element with an `href` attribute.
>
>NOTE
>If a link needs to be "disabled", remove the `href` attribute.

This PR removes the unnecessary `href="#"`, `tabindex="-1"`, and `aria-disabled="true"` from disabled links in both docs pages and examples. `aria-disabled="true"` *is* kept for disabled link-based buttons (that have `role="button"`) as there it's appropriate to use (you *want* to convey to assistive technologies that this thing you're claiming is a button is also disabled at the moment)

Further, the PR extends the "Link functionality caveat" to show the "proper" way (removing `href` and adding `.disabled` class only) to disable a link, but then explains what to do if that's not possible (and then keeps an example with all the traditional `href="#" tabindex="-1" aria-disabled="true"`, but explains clearly that it's not ideal). Same sort of explanation is also added to the pointer event utilities page
@mdo
Copy link
Member

mdo commented Sep 4, 2021

When these callouts get so large, I think it's time to turn them into regular docs text. Especially when there are code snippets or live examples within them.

@patrickhlauke patrickhlauke force-pushed the remove-not-recommended-aria-disabled branch from d1991c8 to c450f4b Compare September 6, 2021 15:42
@patrickhlauke
Copy link
Member Author

When these callouts get so large, I think it's time to turn them into regular docs text. Especially when there are code snippets or live examples within them.

done, removed the callout markup and made them regular docs text

Copy link
Member

@mdo mdo left a comment

Choose a reason for hiding this comment

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

Couple little copy changes. Thanks for reformatting, looks great otherwise! ❤️

site/content/docs/5.1/components/buttons.md Outdated Show resolved Hide resolved
site/content/docs/5.1/utilities/interactions.md Outdated Show resolved Hide resolved
site/content/docs/5.1/utilities/interactions.md Outdated Show resolved Hide resolved
Co-authored-by: Mark Otto <markd.otto@gmail.com>
@XhmikosR XhmikosR merged commit aa06dff into main Sep 6, 2021
@XhmikosR XhmikosR deleted the remove-not-recommended-aria-disabled branch September 6, 2021 19:14
patrickhlauke added a commit that referenced this pull request Sep 8, 2021
manual backport of #34886

per https://www.w3.org/TR/html-aria/#docconformance

> It is NOT RECOMMENDED to use `aria-disabled="true"` on an `a` element with an `href` attribute.
>
>NOTE
>If a link needs to be "disabled", remove the `href` attribute.

This PR removes the unnecessary `href="#"`, `tabindex="-1"`, and `aria-disabled="true"` from disabled links in both docs pages and examples. `aria-disabled="true"` *is* kept for disabled link-based buttons (that have `role="button"`) as there it's appropriate to use (you *want* to convey to assistive technologies that this thing you're claiming is a button is also disabled at the moment)

Further, the PR extends the "Link functionality caveat" to show the "proper" way (removing `href` and adding `.disabled` class only) to disable a link, but then explains what to do if that's not possible (and then keeps an example with all the traditional `href="#" tabindex="-1" aria-disabled="true"`, but explains clearly that it's not ideal). Same sort of explanation is also added to the pointer event utilities page
XhmikosR pushed a commit that referenced this pull request Sep 9, 2021
manual backport of #34886

per https://www.w3.org/TR/html-aria/#docconformance

> It is NOT RECOMMENDED to use `aria-disabled="true"` on an `a` element with an `href` attribute.
>
>NOTE
>If a link needs to be "disabled", remove the `href` attribute.

This PR removes the unnecessary `href="#"`, `tabindex="-1"`, and `aria-disabled="true"` from disabled links in both docs pages and examples. `aria-disabled="true"` *is* kept for disabled link-based buttons (that have `role="button"`) as there it's appropriate to use (you *want* to convey to assistive technologies that this thing you're claiming is a button is also disabled at the moment)

Further, the PR extends the "Link functionality caveat" to show the "proper" way (removing `href` and adding `.disabled` class only) to disable a link, but then explains what to do if that's not possible (and then keeps an example with all the traditional `href="#" tabindex="-1" aria-disabled="true"`, but explains clearly that it's not ideal). Same sort of explanation is also added to the pointer event utilities page
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.

3 participants