Complex widgets – like a carousel – create more engaging and user-friendly interfaces. They're great for users who have good vision, but not always so great for those using a screen reader. Problems arise if understanding breaks down between the widget running in the user agent and the accessibility API. This breakdown causes the assistive technology to fail too.
alt attribute is set on the
img element; it specifies alternative information for users who cannot see an image. All images should have one. If an image is missing this attribute, the screen reader will read out the file name of the image – very annoying for the user, if the file name is a long string of random characters and numbers. For decorative images the
alt attribute should be set to an empty string. This tells a screen reader to skip over it. For all other images, provide a concise informative desciption of the image.
For keyboard-only users you can think of focus as their cursor. Focus is moved forwards with the Tab key, backwards with Shift-Tab, and it can jump to another region via a keyboard shortcut.
Most browsers display focus as an outline around the focussed element. Some users cannot see this outline, but they can still be aware of where focus is, if it's managed correctly.
The Document Object Model (DOM) is an API for HTML and XML documents. It defines these documents as tree structures, which can be accessed and manipulated.
Screen readers look into the DOM, not at what is displayed on the web page/application. Keyboard-only users navigate the DOM in order, from top to bottom, moving focus to navigate up and down. Blind and low-vision users will, likely, be unaware if elements on the web page have been visually re-ordered with CSS. This is why it's important to have DOM elements ordered logically. For example: