In 2023, a WebAIM study revealed that almost 97% of the most popular sites had at least one accessibility error, illustrating the lack of compliance with current standards. In France, compliance with the Référentiel Général d'Accessibilité pour les Administrations (RGAA), which stems from Law 2005-102, requires public websites to meet the requirements set by the World Wide Web Consortium (W3C) and specified in the Web Content Accessibility Guidelines (WCAG).
However, many developers and designers overlook these accessibility standards, in the mistaken belief that these adjustments offer few benefits. However, by integrating accessibility at the design stage, they are also optimising the user experience and improving the reach of their site. In this article, we will look at the 5 most common accessibility mistakes and provide you with practical solutions to make your website more accessible to everyone.
How can I check for contrast problems and correct them?
To check the contrast of your typography, you can use online tools that allow you to check the contrast ratio between the colour of the text and that of the background.
We recommend the Color Contrast Checker online tool. Many design editors, such as Figma and Adobe XD, offer plugins (like Stark) for checking the contrast in mock-ups.
If the contrast is low, it is advisable to modify the colours to achieve the recommended ratios:
- A minimum contrast of 4.5:1 is recommended for normal-sized text.
- A contrast of 3:1 for bold or large text.
Test the legibility of your content on different screens (computer, smartphone, tablet) and in different lighting conditions.
Detecting missing alt tags and correcting them
There are 2 methods of identifying images without alt text:
- To observe alt tags on identified pages, you can use accessibility audit tools such as the WAVE chrome extension.
- To detect alt tags missing from an entire website, you can use a crawl tool such as Screaming Frog.
The writing of alternative texts should not be haphazard. For each informative image, write an alt attribute with a concise description of what it represents. For example, for an image of a team meeting, an alt text such as "Team meeting around a table".
If an image is purely decorative and provides no additional information, the alt attribute should be present but empty (alt="").
Detecting and correcting elements without labels or descriptive headings
Browser extensions such as WAVE or axe DevTools can analyse your web pages and flag up fields, links and buttons with missing labels or headings. The Screaming Frog crawl tool can also be configured to identify certain interactive elements without text or ARIA attributes.
To associate each field with a label, use the <label> element for each field by associating the for attribute of the label with the id attribute of the corresponding field. For example:
For forms requiring invisible labels (such as a search bar with a magnifying glass icon), add an aria-label attribute to provide an accessible label without displaying visible text. Example:
Each link and button should include a text describing its function or destination. For example, instead of a "Find out more" link, choose "Find out more about our services". For interactive elements represented solely by icons (such as social networking buttons), add an aria-label attribute describing their function.
Placeholders, although accepted by certain accessibility tools, are not a sufficient label. They disappear as soon as the user starts entering information, creating confusion, especially in complex forms. Always use a persistent label for each field.
Detecting and resolving content hierarchy problems
Browser extensions such as Website SEO Checker or Web Developer can be used to identify structural errors in your title tags. These tools flag up missing titles, incorrect order of title levels and misused title tags. If you want a global analysis of all the URLs on a site, we recommend using the Screaming Frog crawler.
Title tags should be used logically. The content must be organised in an orderly hierarchy.
- <h1> for the main title of the page (used only once per page),
- <h2> for the main subtitles,
- <h3> for sub-sections, etc.