
In this article 11 sections
A screen-reader user should be able to understand your website, move between its sections and complete the same tasks as someone using a mouse. Good results come from clear structure and predictable controls, rather than a separate, simplified version of the site.
For a UK business, start with the journeys that matter: finding a service, understanding a price, sending an enquiry or completing an order. A beautifully presented homepage is of limited value if a customer cannot identify a form field or reach the payment button. These nine practices give designers, writers and developers a shared way to improve the experience.
How screen readers interpret a page
A screen reader exposes information provided by the browser and the operating system’s accessibility interface. It can announce headings, landmarks, links, control names and changes in state. Users may read in sequence, jump between headings, open a list of links or move into a form. The experience is therefore not equivalent to somebody reading all the visible text aloud from top to bottom.
NVDA, VoiceOver and other screen readers have different commands and interact with browsers differently. Do not assume one test represents every combination. Your job is to provide meaningful HTML and coherent behaviour so that the software has useful information to work with. A correct reading order is particularly important when the visual design uses columns or moves elements around at smaller screen sizes.
1. Give the page a clear semantic structure
Use an informative page title, a main heading that describes the subject, and subheadings that divide the content into sensible sections. A heading should introduce what follows, not exist only because its default font size looks attractive. Choose the heading level that reflects the hierarchy, then use CSS to control its appearance.
Use elements such as header, nav, main and footer for their intended purpose. If a page has more than one navigation area, distinguish them with useful names. A skip link should take keyboard users to the main content. Keep the source order logical when a sidebar moves below an article on mobile; screen readers follow the document structure rather than your preferred desktop screenshot.
2. Write image alternatives for the image’s purpose
Describe the information an image adds in its particular context. A product image might identify a distinguishing finish or included part. A chart needs its conclusion and access to the underlying values. A screenshot used in a tutorial should have accompanying instructions so that the process does not depend on reading small text inside a picture.
Use an empty alternative for a purely decorative image that adds no information. This is different from omitting the alt attribute. For an image inside a link, consider the accessible name of the whole link: a brand logo linking to your homepage should identify that destination without repeating a nearby visible name unnecessarily. Avoid forcing a keyword into every alternative.
3. Make links and buttons understandable
A collection of links all named “Read more” is difficult to use outside its visual layout. Link text such as “Compare WordPress hosting plans” provides a clearer destination. Where a card contains a heading, image and repeated link, check the actual accessible name rather than assuming proximity joins them together.
Use a link for navigation and a button for an action on the current page. A button that opens a menu should communicate whether the menu is expanded. If a link deliberately opens a new tab, give users a clear indication. Keep the visible label and accessible name aligned so that somebody using voice control can refer to the words they see.
4. Test every important task with the keyboard
Use Tab and Shift+Tab to move through interactive controls, Enter to activate links, and the expected keys for menus, dialogs and tabs. Focus must be visible. A control should not become usable only when a pointer hovers over it, and a sticky header should not cover the item that receives focus.
Look for traps in cookie controls, pop-ups, embedded widgets and checkout forms. After a dialog closes, focus should return to a sensible place, usually the control that opened it. Do not add positive tabindex values to compensate for an illogical page structure. Fix the structure and use native interactive elements wherever possible.
5. Use ARIA to describe real behaviour
Native HTML already supplies much of the information assistive technology needs. Adding an ARIA role does not create keyboard behaviour, submit a form or make an inaccessible custom control work. A styled div with a button role still needs the behaviour of a button.
Use ARIA where a component genuinely needs additional information, following the W3C Authoring Practices for that pattern. For example, a disclosure can use an expanded state that changes when the panel opens. An asynchronous result message can be announced without moving focus. Keep state attributes in sync with what the user can actually see and do.
6. Give audio and video an accessible route
Provide captions that convey relevant speech and sound, and check their accuracy. An automatic transcript is a starting point for editing, especially where technical terms, names or accents are involved. A text transcript helps readers search or review material without replaying the recording.
If the visual content carries information that is not in the soundtrack, supply an appropriate equivalent. A narrated tutorial saying “click here” while moving a cursor does not explain the action to someone who cannot see it. State the control name and the outcome in the spoken or written instructions. Make playback controls keyboard accessible and avoid unexpected autoplay.
7. Explain forms and errors in text
Each input needs an associated label. A placeholder disappears when someone types and should not be the only explanation of a field. Group related choices with a clear question, and place format instructions where they can be encountered before a mistake is made.
When validation fails, identify the affected field and describe how to correct it. Keep the information already entered where practical. An error summary can link to the relevant inputs, while field-level messages provide detail. Success messages should be available to assistive technology too; changing a green border is insufficient confirmation that an enquiry was sent.
8. Keep meaning independent of colour and position
Instructions such as “choose the green package on the right” rely on colour, a particular layout and often a particular screen size. Identify packages by name and explain their differences in text. Charts need readable labels or patterns as well as a colour key.
Check high contrast settings, zoom and text resizing. Text should remain available when a user overrides your preferred font or increases spacing. The aim is a robust page, not one carefully arranged combination of browser, viewport and eyesight.
9. Test with assistive technology and real tasks
Combine automated checks with manual testing. An automated tool may identify a missing label, but it cannot decide whether a description gives a customer the right information. Use a screen reader to find a product, complete a form, dismiss a dialog and recover from an error.
Where possible, include disabled users in research and testing. Record the browser, device, screen reader and task so that findings can be reproduced. Prioritise issues that prevent access or completion, then work through confusing labels and inefficient journeys. Repeat the tests after template changes, new widgets or major content updates.
A manageable improvement plan
Choose a representative article, a landing page and a transactional journey, rather than checking only your homepage. Assign each issue to somebody who can fix its cause, whether that is the template, the content or a third-party component. Give editors examples of good headings and image alternatives so the same problems do not return.
Accessibility is easier to maintain when it is part of normal publishing. Before an important page goes live, check its structure, labels, focus behaviour and error messages. Those practical checks help customers reach useful information and complete their work with less friction.
Follow the subject
Your perspective
Join the discussion
Ask a question, share what worked, or add a useful detail.
Loading discussion…
Comment moderation
Only approved contributions appear in the discussion.


