-
Notifications
You must be signed in to change notification settings - Fork 8.1k
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
Add title and tooltip accessibility information to HTML style guide. #11655
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -27,4 +27,39 @@ If the element doesn't have children, add the closing tag on the same line as th | |
attribute2="value2" | ||
attribute3="value3" | ||
></div> | ||
``` | ||
|
||
## Accessibility | ||
|
||
### Don't use the `title` attribute | ||
|
||
The `title` has no clear role within the accessibility standards. | ||
[See the HTML5 spec](http://w3c.github.io/html/dom.html#the-title-attribute) for more information. | ||
|
||
To provide supplementary, descriptive information about a form control, button, link, or other element, use | ||
a tooltip component instead. | ||
|
||
Additional reading: | ||
|
||
* https://www.paciellogroup.com/blog/2010/11/using-the-html-title-attribute/ | ||
* https://www.paciellogroup.com/blog/2012/01/html5-accessibility-chops-title-attribute-use-and-abuse/ | ||
* https://www.deque.com/blog/text-links-practices-screen-readers/ | ||
|
||
### Tooltips | ||
|
||
Elements which act as tooltips should have the `role="tooltip"` attribute and an ID to which the | ||
described element can point to with the `aria-describedby` attribute. For example: | ||
|
||
```html | ||
<div | ||
class="kuiTooltip" | ||
role="tooltip" | ||
id="visualizationsTooltip" | ||
> | ||
Visualizations help you make sense of your data. | ||
</div> | ||
|
||
<button aria-describedby="visualizationsTooltip"> | ||
Visualizations | ||
</button> | ||
``` | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Maybe add something like... If something is meant to be clickable, favor using a
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure how to apply these guidelines, is there a recommended way to implement tooltips like this?
Placement/showing/hiding should probably be handled by a directive, no?
We already have the tooltip directive from ui-boostrap, and the kbn-tooltip directive that wraps that, but neither of those follow these guidelines.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure either, to be honest. We'd need to spend some time figuring out a solution to this as part of our accessibility initiative, but it's also not currently on our list of priorities. I think it's OK to have this in our guidelines even if we don't currently follow it or have a way to implement it -- the information is accurate, and worth implementing when possible or updating if we decide it's impossible to achieve.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm uncomfortable putting rules in the style guide for which we don't yet have a clear path on implementation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@BigFunger Here's an example of how we'd implement a tooltip with this guidance: https://codepen.io/cjcenizal/pen/aWqRVQ. Does this help?
I think we really need to have this accessibility information somewhere that's accessible (sorry) to everyone, so that we know where we want to go, even if we're not there yet. It's just a way of defining a goal first, and then finding a path there second.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is the intended path in regards to the other two ways (besides the
title
attribute) that are already being used within Kibana that @spalger mentioned?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As far as I can tell, we have two options:
We'd need to dedicate time to investigating each option and deciding which path to pursue.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have used
aria-describedby
in the past with great success.