Comments (3)
You've made your content inaccessible to a lot of people with these changes.
Tabby forgoes aria roles in favor of simple, progressively enhanced anchor links. There are a few aspects to this approach.
First, don't use display: none
. It hides content completely from screen readers.
Tabby deliberately uses a more verbose set of CSS that only visually hides the content. Someone viewing the site via a screen reader simply sees anchor links and navigates through the full set of content.
Another important part of how Tabby works is keyboard navigation. If I tab into a closed content area that contains a link, that content area should become active (check out the demo to see what I mean).
Again, display: none
prevents this from happening, as the content area is removed from the tab flow.
The tabby CSS, minified, is 322 bytes. That's less than 1/3rd of a KB. Gzipped, it's probably closer to 100 bytes.
To save just a few bytes, you're making your site far less accessible.
from tabby.
OK. I didn't know display:none; had any effect on screen readers (I didn't know they didn't just read the code directly, which would facilitate ignoring things like display:none;). I now want to punch a standards committee member. Thanks for your response.
from tabby.
That's actually by design, and makes quite a bit of sense. If you're saying that a piece of content should not be displayed, why would you want a screen reader to read it? You're effectively "removing it" from the DOM.
Hence the visually hidden technique.
from tabby.
Related Issues (20)
- Nested tabs HOT 2
- Init Tabby only on mobile HOT 4
- Callback events? HOT 1
- Add previous tab to event HOT 3
- TypeError when no tabs exist on a page HOT 2
- Stop video when tab is inactive HOT 1
- Instantiate multiple instances with the same selector HOT 8
- Add ES6 module HOT 4
- 'tabby' event is not emitted when the tab ID is specified in the URL hash HOT 3
- CustomEvent polyfill is required for IE9+ support HOT 1
- CSS file not available via CDN HOT 2
- Implement Manual Activation HOT 3
- Add to documentation - instantiate multiple instances HOT 1
- Ability to call nested tabs with anchors?
- Make Tabby Work with Anchor Links from Outside HOT 2
- It is recommended that the Chinese character set is freely configured
- Where is download page? HOT 2
- bug occur when use sz (lrzsz utils) HOT 1
- Allow passing a node instead of a selector
- Scroll jump to anchor then back to top HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tabby.