DevA11y
Subscribe
Sign in
Home
Archive
About
Latest
Top
Discussions
A breadcrumb is navigation too
Screen readers like JAWS can provide a special mode for quick access to a breadcrumb. Just use the nav element 😉 Drop me any questions, feedback or…
Apr 23
•
Stas Melnikov
Share this post
A breadcrumb is navigation too
deva11y.substack.com
Copy link
Facebook
Email
Note
Other
A heading order is insidious
You might think, "What's the difference between using different heading levels? h2, h3, or h4? Whatever, it doesn't matter." As a result, you'll confuse…
Apr 16
•
Stas Melnikov
Share this post
A heading order is insidious
deva11y.substack.com
Copy link
Facebook
Email
Note
Other
The Hamburger button isn't a checkbox
There are popular pure CSS solutions for the Hamburger button that use checkboxes. But it confuses screen reader users. So the single right element is…
Apr 9
•
Stas Melnikov
Share this post
The Hamburger button isn't a checkbox
deva11y.substack.com
Copy link
Facebook
Email
Note
Other
A nasty surprise with "visually-hidden"
There is a problem if you paste the visually-hidden pattern inside an element with text. NVDA in Firefox voices it separately. role="presentation" is…
Apr 2
•
Stas Melnikov
1
Share this post
A nasty surprise with "visually-hidden"
deva11y.substack.com
Copy link
Facebook
Email
Note
Other
March 2024
A button or link? Don't overdo it with tips
We can overdo the help to screen reader users by just adding a little tip "button" or "link". They’ll hear "Sign Out button, link". What? Button or…
Mar 26
•
Stas Melnikov
1
Share this post
A button or link? Don't overdo it with tips
deva11y.substack.com
Copy link
Facebook
Email
Note
Other
Icons with meaningless information should be hidden
Instagram icon, an email icon, a magnifying glass icon or anything else icon clutters up a screen reader experience. aria-hidden is a superman who helps…
Mar 19
•
Stas Melnikov
Share this post
Icons with meaningless information should be hidden
deva11y.substack.com
Copy link
Facebook
Email
Note
Other
Take out the tel attribute
Do you expect * or # symbols when typing date of birth? So input type="tel" is trash for typing numbers except typing a phone number. Laconic keyboards…
Mar 12
•
Stas Melnikov
1
Share this post
Take out the tel attribute
deva11y.substack.com
Copy link
Facebook
Email
Note
Other
nav without aria-label is a bad pattern
Screen reader users can't find where the main navigation is if we don't tell them about it. So aria-label helps us to make it 💡 ❤ Thank you so much, my…
Mar 5
•
Stas Melnikov
1
Share this post
nav without aria-label is a bad pattern
deva11y.substack.com
Copy link
Facebook
Email
Note
Other
February 2024
Every page must have <main>
Screen readers users use the feature of moving to the main content with hotkeys. But it doesn't work without <main> 💡 ❤ Thank you so much, my sponsors…
Feb 27
•
Stas Melnikov
1
Share this post
Every page must have <main>
deva11y.substack.com
Copy link
Facebook
Email
Note
Other
Be careful with the minlength and maxlength attributes
Warning! Don't use the minlength and maxlength attributes for first and last name text fields. You never divine it and my girlfriend can't type her last…
Feb 20
•
Stas Melnikov
1
Share this post
Be careful with the minlength and maxlength attributes
deva11y.substack.com
Copy link
Facebook
Email
Note
Other
Duplication text in aria-label isn't helpful
Please, be attentive when writing a text for aria-label. The "Main navigation" text will be read like "Main navigation, navigation". It clutters up only…
Feb 13
•
Stas Melnikov
2
Share this post
Duplication text in aria-label isn't helpful
deva11y.substack.com
Copy link
Facebook
Email
Note
Other
The section element without aria-labelledby is meaningless
Please, use aria-labelledby for sections and associate it with their headings. Screen reader users don't get quick access to regions without it ⛔ ❤…
Feb 6
•
Stas Melnikov
Share this post
The section element without aria-labelledby is meaningless
deva11y.substack.com
Copy link
Facebook
Email
Note
Other
Share
Copy link
Facebook
Email
Note
Other
This site requires JavaScript to run correctly. Please
turn on JavaScript
or unblock scripts