Accessibility
· 24 checks — Landmarks, headings, alt text, forms, and link quality rolled into one auditable list.DTap Target AdequacyAction20 tap target(s) too small or too close togetherFIX
FFavicon & BrandingAction2 icon(s) detectedFIX
DWeb ManifestActionNot foundFIX
No web manifest found.
DDark Mode SupportActionNo dark mode signalsFIX
Detection limited to meta tags and inline styles.
DPrint StylesheetActionNo print stylesFIX
BLandmark Structure47 landmarksREVIEW
Multiple navigations need aria-label to distinguish them for screen readers.
Some <nav> elements lack aria-label — screen-reader users hear 'navigation' multiple times with no way to distinguish them.
Learn more ▾ ▴
When a page has multiple <nav> regions (primary, footer, breadcrumb), each needs aria-label or aria-labelledby. AT users navigate by landmark; identical 'navigation' announcements force them to enter each one to discover purpose.
Source: WAI-ARIA Authoring Practices
Add a skip link as the first focusable element so keyboard users can bypass repeated navigation.
Without a skip-nav link, keyboard users tab through every nav item before reaching content — every page, every visit.
Learn more ▾ ▴
WCAG 2.4.1 (Bypass Blocks) requires a mechanism to skip past repeated content. The standard implementation is a 'Skip to main content' link that's the first focusable element, visually hidden until focused. Three lines of HTML + four of CSS.
Source: WCAG 2.1 SC 2.4.1
CForm AccessibilityAction3 of 14 controls have issuesREVIEW
| Control | Type | Label | Method |
|---|---|---|---|
| #query | search | Recherche : | for/id |
| #account_login_sidebar | text | Identifiant | for/id |
| #account_password_sidebar | password | Mot de passe | for/id |
| #account_remember_me_sidebar | checkbox | Connexion automatique | for/id |
| #position_0_sidebar | radio | Ciel sans nuage : tout est sur mon|mes ordi perso | for/id |
| #position_1_sidebar | radio | Légère brume sur la maison : je stocke sur mon réseau interne | for/id |
| #position_2_sidebar | radio | Je paye un hébergeur et j'administre mon propre nuage | for/id |
| #position_3_sidebar | radio | J'utilise le nuage de mon employeur | for/id |
| #position_4_sidebar | radio | Les GAFAM proposent des cumulonimbus, j'en profite | for/id |
| #position_5_sidebar | radio | J'utilise de petits cumulus associatifs plus ou moins libres | for/id |
| #position_6_sidebar | radio | Mon FAI me vend un bout de nuage en plus de ma connexion | for/id |
| #account_submit_sidebar | submit | (none) | none |
| #search_submit | submit | (none) | none |
| commit | submit | (none) | none |
Form controls need a <label>, aria-label, or aria-labelledby for screen readers.
<input type="submit" id="search_submit">; <input type="submit" name="commit" id="account_submit_sidebar">; <input type="submit" name="commit">
Form controls without labels — assistive tech announces 'edit text' with no context; users can't complete forms.
Source: WCAG 2.1 SC 3.3.2
BForm Input Quality2 input-semantic issue(s) across 14 form control(s)REVIEW
BMobile-Readable Font Sizes95% of visible text renders at >= 12 CSS px (16 below threshold)REVIEW
AHeading Hierarchy28 headingsPASS
- H1 LinuxFr.org
- H1 Se connecter duplicate H1
- H1 Sondage duplicate H1
- H2 La tête dans le nuage
- H1 Les sections duplicate H1
- H1 "Accueil" duplicate H1
- H1 Podcast Projets Libres saison 4 épisode 21 : postmarketOS, Linux pour faire durer votre smartphone pendant 10 ans ! duplicate H1
- H2 Faites vivre LinuxFr.org
- H1 Aux origines du premier GPU, une bande de copains de l'ENS duplicate H1
- H1 Radinus : tenir sa comptabilité personnelle sous Linux duplicate H1
- H1 Podcast Projets Libres épisode 72 : State of the Map 2026 : les contributeurs OpenStreetMap à Paris ! duplicate H1
- H1 Lettre d'information XMPP de juin 2026 duplicate H1
- H1 Multiplier par 4 et en 4 ans l’adoption de Linux chez le particulier ! duplicate H1
- H1 Agenda du Libre pour la semaine 33 de l’année 2026 duplicate H1
- H1 Application mobile pour Nextcloud Calendar, l'outil manquant de l'écosystème duplicate H1
- H1 Éditer de la littérature libre : les Éditions du Renard Spatial duplicate H1
- H1 Revue de presse de l’April pour la semaine 31 de l’année 2026 duplicate H1
- H1 EmmaDE6 1.02 améliore encore l’accessibilité aux déficients visuels duplicate H1
- H1 L'art non contextuel duplicate H1
- H1 Agenda du Libre pour la semaine 32 de l'année 2026 duplicate H1
- H1 ENIAC, le premier FPGA ? duplicate H1
- H1 G’MIC 4.0 : La quadrature du pixel, plus facile que jamais ! duplicate H1
- H1 Podcast Projets Libres épisode 71 : LaSuite.coop, faire un commun autour de la Suite de la DINUM duplicate H1
- H2 Faites vivre LinuxFr.org
- H1 Derniers commentaires duplicate H1
- H1 Étiquettes (tags) populaires duplicate H1
- H1 Sites amis duplicate H1
- H1 À propos de LinuxFr.org duplicate H1
A page should have only one H1. Multiple H1s dilute the document outline.
Multiple H1s blur the page's primary topic — screen-reader users and Google both prefer one H1.
Learn more ▾ ▴
HTML5's outline algorithm technically allows multiple H1s within sectioning content, but no browser implements it. In practice: one H1 per page. Use H2-H6 for subsections.
Source: WCAG 2.4.6 / Google Search Central
A+Heading Text QualityAll 28 heading(s) have substantive, well-formed textPASS
A+Alt Text QualityAll 27 images OKPASS
A+Link & Button Quality429 links, 3 buttons — all OKPASS
A+Form Input Types14 form control(s) checked, no type mismatchesPASS
A+Mobile Keyboard & AutofillNo autofill-eligible form controlsPASS
A+Document LanguageLang attribute set to "fr"PASS
A+Tabindex Anti-PatternsNo explicit tabindex attributes foundPASS
A+Iframe AccessibilityNo iframes on this pagePASS
A404 Error PageHTTP 404, custom pagePASS
A+PWA DepthNo PWA depth issues detectedPASS
A+Mobile UX Depth1 mobile-depth signal(s) detectedPASS
A+Color Contrast (Screenshot)20 text elements analyzed, 0 fail WCAG AAPASS
Analyzes text contrast against the actual rendered page, including background images, gradients, and overlays that CSS-based tools cannot detect.
Show all checked elements (20)
| Element | Ratio | Required | FG | BG | Result |
|---|---|---|---|---|---|
| h1 Se connecter | 19.95:1 | 3.0:1 | #000000 | #F9F9F9 | Pass |
| h1 "Accueil" | 19.95:1 | 3.0:1 | #000000 | #F9F9F9 | Pass |
| h1 Derniers commentaire… | 19.95:1 | 3.0:1 | #000000 | #F9F9F9 | Pass |
| h1 Étiquettes (tags) p… | 19.95:1 | 3.0:1 | #000000 | #F9F9F9 | Pass |
| h1 Sites amis | 19.95:1 | 3.0:1 | #000000 | #F9F9F9 | Pass |
| h1 À propos de LinuxFr… | 19.95:1 | 3.0:1 | #000000 | #F9F9F9 | Pass |
| h2 Faites vivre LinuxFr… | 19.95:1 | 3.0:1 | #000000 | #F9F9F9 | Pass |
| h2 Faites vivre LinuxFr… | 19.95:1 | 3.0:1 | #000000 | #F9F9F9 | Pass |
| title Accueil - LinuxFr.or… | 10.19:1 | 4.5:1 | #000000 | #BDB3AA | Pass |
| a Aller au contenu | 10.19:1 | 4.5:1 | #000000 | #BDB3AA | Pass |
| a Aller au menu | 21.00:1 | 4.5:1 | #000000 | #FFFFFF | Pass |
| a Dépêches | 21.00:1 | 4.5:1 | #000000 | #FFFFFF | Pass |
| a Journaux | 21.00:1 | 4.5:1 | #000000 | #FFFFFF | Pass |
| a Liens | 21.00:1 | 4.5:1 | #000000 | #FFFFFF | Pass |
| a Forums | 21.00:1 | 4.5:1 | #000000 | #FFFFFF | Pass |
| a Rédaction | 20.29:1 | 4.5:1 | #000000 | #FBFBFB | Pass |
| a 🎙️ Projets Li… | 19.95:1 | 4.5:1 | #000000 | #F9F9F9 | Pass |
| label Recherche : | 19.95:1 | 4.5:1 | #000000 | #F9F9F9 | Pass |
| a LinuxFr.org | 19.95:1 | 4.5:1 | #000000 | #F9F9F9 | Pass |
| a Proposer un contenu | 19.95:1 | 4.5:1 | #000000 | #F9F9F9 | Pass |
Methodology: The top 20 text elements by font size were checked. Background color was sampled from the desktop screenshot using a 5-point pattern. WCAG 2.1 AA requires 4.5:1 for normal text and 3:1 for large text.
ALighthouse Accessibility AuditsScore 93/100 — 2 failing, 26 passedPASS
Accessibility
These checks highlight opportunities to improve the accessibility of your web app. Automatic detection can only detect a subset of issues and does not guarantee the accessibility of your web app, so manual testing is also encouraged.
Contrast
Low-contrast text is difficult or impossible for many users to read. Learn how to provide sufficient color contrast.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
Se connecter body#home-index > aside#sidebar > div.login > h1 |
Posté par Podcast Projets Libres (site web personnel, Mastodon) le 17 juillet 2… article.node > header > div.meta > span.posted_by_spanblock |
Podcast Projets Libres header > div.meta > span.posted_by_spanblock > a |
site web personnel header > div.meta > span.posted_by_spanblock > a |
Mastodon header > div.meta > span.posted_by_spanblock > a |
le 17 juillet 2026 à 07:43 header > div.meta > span.posted_by_spanblock > time.updated |
Édité par Benoît Sibaud. article.node > header > div.meta > span.edited_by_spanblock |
Benoît Sibaud div.meta > span.edited_by_spanblock > span.edited_by > a |
Modéré par Benoît Sibaud. article.node > header > div.meta > span.moderated_by_spanblock |
Benoît Sibaud header > div.meta > span.moderated_by_spanblock > a |
Licence CC By‑SA. article.node > header > div.meta > a |
Trier par : datenoteintérêtdernier commentaire body#home-index > section#container > nav.toolbox > div.order_navbar |
date div.order_navbar > ul > li > a |
note div.order_navbar > ul > li > a |
intérêt nav.toolbox > div.order_navbar > ul > li |
dernier commentaire div.order_navbar > ul > li > a |
Posté par Collectif le 16 août 2026 à 11:28. article.node > header > div.meta > span.posted_by_spanblock |
Collectif header > div.meta > span.posted_by_spanblock > a |
le 16 août 2026 à 11:28 header > div.meta > span.posted_by_spanblock > time.updated |
Édité par 10 personnes. article.node > header > div.meta > span.edited_by_spanblock |
10 personnes div.meta > span.edited_by_spanblock > span.edited_by > a |
Modéré par ted. article.node > header > div.meta > span.moderated_by_spanblock |
ted header > div.meta > span.moderated_by_spanblock > a |
Licence CC By‑SA. article.node > header > div.meta > a |
Posté par Fab2bprog le 15 août 2026 à 09:13. article.node > header > div.meta > span.posted_by_spanblock |
Fab2bprog header > div.meta > span.posted_by_spanblock > a |
le 15 août 2026 à 09:13 header > div.meta > span.posted_by_spanblock > time.updated |
Édité par Benoît Sibaud. article.node > header > div.meta > span.edited_by_spanblock |
Benoît Sibaud div.meta > span.edited_by_spanblock > span.edited_by > a |
Modéré par Benoît Sibaud. article.node > header > div.meta > span.moderated_by_spanblock |
Benoît Sibaud header > div.meta > span.moderated_by_spanblock > a |
Licence CC By‑SA. article.node > header > div.meta > a |
Posté par Podcast Projets Libres (site web personnel, Mastodon) le 13 août 2026… article.node > header > div.meta > span.posted_by_spanblock |
Podcast Projets Libres header > div.meta > span.posted_by_spanblock > a |
site web personnel header > div.meta > span.posted_by_spanblock > a |
Mastodon header > div.meta > span.posted_by_spanblock > a |
le 13 août 2026 à 07:52 header > div.meta > span.posted_by_spanblock > time.updated |
Édité par Benoît Sibaud. article.node > header > div.meta > span.edited_by_spanblock |
Benoît Sibaud div.meta > span.edited_by_spanblock > span.edited_by > a |
Modéré par patrick_g. article.node > header > div.meta > span.moderated_by_spanblock |
patrick_g header > div.meta > span.moderated_by_spanblock > a |
Licence CC By‑SA. article.node > header > div.meta > a |
Posté par Adrien 'neox' Bourmault (site web personnel, Mastodon) le 12 août 202… article.node > header > div.meta > span.posted_by_spanblock |
Adrien 'neox' Bourmault header > div.meta > span.posted_by_spanblock > a |
site web personnel header > div.meta > span.posted_by_spanblock > a |
Mastodon header > div.meta > span.posted_by_spanblock > a |
le 12 août 2026 à 18:47 header > div.meta > span.posted_by_spanblock > time.updated |
Édité par 6 personnes. article.node > header > div.meta > span.edited_by_spanblock |
6 personnes div.meta > span.edited_by_spanblock > span.edited_by > a |
Modéré par Benoît Sibaud. article.node > header > div.meta > span.moderated_by_spanblock |
Benoît Sibaud header > div.meta > span.moderated_by_spanblock > a |
Licence CC By‑SA. article.node > header > div.meta > a |
Posté par FabFab le 10 août 2026 à 09:26. article.node > header > div.meta > span.posted_by_spanblock |
FabFab header > div.meta > span.posted_by_spanblock > a |
le 10 août 2026 à 09:26 header > div.meta > span.posted_by_spanblock > time.updated |
Édité par Benoît Sibaud. article.node > header > div.meta > span.edited_by_spanblock |
Benoît Sibaud div.meta > span.edited_by_spanblock > span.edited_by > a |
Modéré par Benoît Sibaud. article.node > header > div.meta > span.moderated_by_spanblock |
Benoît Sibaud header > div.meta > span.moderated_by_spanblock > a |
Licence CC By‑SA. article.node > header > div.meta > a |
Posté par Collectif le 09 août 2026 à 17:16. article.node > header > div.meta > span.posted_by_spanblock |
Collectif header > div.meta > span.posted_by_spanblock > a |
le 09 août 2026 à 17:16 header > div.meta > span.posted_by_spanblock > time.updated |
Édité par Benoît Sibaud et Ysabeau 🧶. article.node > header > div.meta > span.edited_by_spanblock |
Benoît Sibaud et Ysabeau 🧶 header > div.meta > span.edited_by_spanblock > span.edited_by |
Benoît Sibaud div.meta > span.edited_by_spanblock > span.edited_by > a |
Ysabeau 🧶 div.meta > span.edited_by_spanblock > span.edited_by > a |
Modéré par Ysabeau 🧶. article.node > header > div.meta > span.moderated_by_spanblock |
Ysabeau 🧶 header > div.meta > span.moderated_by_spanblock > a |
Licence CC By‑SA. article.node > header > div.meta > a |
Posté par killian.larcher le 05 août 2026 à 18:51. article.node > header > div.meta > span.posted_by_spanblock |
killian.larcher header > div.meta > span.posted_by_spanblock > a |
le 05 août 2026 à 18:51 header > div.meta > span.posted_by_spanblock > time.updated |
Édité par BAud, Benoît Sibaud et zurvan. article.node > header > div.meta > span.edited_by_spanblock |
BAud, Benoît Sibaud et zurvan header > div.meta > span.edited_by_spanblock > span.edited_by |
BAud div.meta > span.edited_by_spanblock > span.edited_by > a |
Benoît Sibaud div.meta > span.edited_by_spanblock > span.edited_by > a |
zurvan div.meta > span.edited_by_spanblock > span.edited_by > a |
Modéré par Benoît Sibaud. article.node > header > div.meta > span.moderated_by_spanblock |
Benoît Sibaud header > div.meta > span.moderated_by_spanblock > a |
Licence CC By‑SA. article.node > header > div.meta > a |
Posté par SpaceFox (site web personnel, Mastodon) le 05 août 2026 à 20:36. article.node > header > div.meta > span.posted_by_spanblock |
SpaceFox header > div.meta > span.posted_by_spanblock > a |
site web personnel header > div.meta > span.posted_by_spanblock > a |
Mastodon header > div.meta > span.posted_by_spanblock > a |
le 05 août 2026 à 20:36 header > div.meta > span.posted_by_spanblock > time.updated |
Édité par Benoît Sibaud et bobble bubble. article.node > header > div.meta > span.edited_by_spanblock |
Benoît Sibaud et bobble bubble header > div.meta > span.edited_by_spanblock > span.edited_by |
Benoît Sibaud div.meta > span.edited_by_spanblock > span.edited_by > a |
bobble bubble div.meta > span.edited_by_spanblock > span.edited_by > a |
Modéré par Ysabeau 🧶. article.node > header > div.meta > span.moderated_by_spanblock |
Ysabeau 🧶 header > div.meta > span.moderated_by_spanblock > a |
Licence CC By‑SA. article.node > header > div.meta > a |
Posté par echarp (site web personnel, Mastodon) le 04 août 2026 à 08:37. article.node > header > div.meta > span.posted_by_spanblock |
echarp header > div.meta > span.posted_by_spanblock > a |
site web personnel header > div.meta > span.posted_by_spanblock > a |
Mastodon header > div.meta > span.posted_by_spanblock > a |
le 04 août 2026 à 08:37 header > div.meta > span.posted_by_spanblock > time.updated |
Modéré par Pierre Jarillon. article.node > header > div.meta > span.moderated_by_spanblock |
Pierre Jarillon header > div.meta > span.moderated_by_spanblock > a |
Licence CC By‑SA. article.node > header > div.meta > a |
Posté par Patrick Emmabuntüs (site web personnel) le 03 août 2026 à 01:31. article.node > header > div.meta > span.posted_by_spanblock |
Patrick Emmabuntüs header > div.meta > span.posted_by_spanblock > a |
site web personnel header > div.meta > span.posted_by_spanblock > a |
le 03 août 2026 à 01:31 header > div.meta > span.posted_by_spanblock > time.updated |
Modéré par bobble bubble. article.node > header > div.meta > span.moderated_by_spanblock |
bobble bubble header > div.meta > span.moderated_by_spanblock > a |
Licence CC By‑SA. article.node > header > div.meta > a |
Posté par Leo_Ryvkin le 02 août 2026 à 19:23. article.node > header > div.meta > span.posted_by_spanblock |
Leo_Ryvkin header > div.meta > span.posted_by_spanblock > a |
le 02 août 2026 à 19:23 header > div.meta > span.posted_by_spanblock > time.updated |
Édité par Benoît Sibaud. article.node > header > div.meta > span.edited_by_spanblock |
Benoît Sibaud div.meta > span.edited_by_spanblock > span.edited_by > a |
Modéré par Pierre Jarillon. article.node > header > div.meta > span.moderated_by_spanblock |
Pierre Jarillon header > div.meta > span.moderated_by_spanblock > a |
Licence CC By‑SA. article.node > header > div.meta > a |
Posté par Collectif le 02 août 2026 à 19:26. article.node > header > div.meta > span.posted_by_spanblock |
Collectif header > div.meta > span.posted_by_spanblock > a |
le 02 août 2026 à 19:26 header > div.meta > span.posted_by_spanblock > time.updated |
Édité par Benoît Sibaud. article.node > header > div.meta > span.edited_by_spanblock |
Benoît Sibaud div.meta > span.edited_by_spanblock > span.edited_by > a |
Modéré par Pierre Jarillon. article.node > header > div.meta > span.moderated_by_spanblock |
Pierre Jarillon header > div.meta > span.moderated_by_spanblock > a |
Licence CC By‑SA. article.node > header > div.meta > a |
Posté par martoni (site web personnel, Mastodon) le 30 juillet 2026 à 18:51. article.node > header > div.meta > span.posted_by_spanblock |
martoni header > div.meta > span.posted_by_spanblock > a |
site web personnel header > div.meta > span.posted_by_spanblock > a |
Mastodon header > div.meta > span.posted_by_spanblock > a |
le 30 juillet 2026 à 18:51 header > div.meta > span.posted_by_spanblock > time.updated |
Édité par BAud, Benoît Sibaud et Julien Jorge. article.node > header > div.meta > span.edited_by_spanblock |
BAud, Benoît Sibaud et Julien Jorge header > div.meta > span.edited_by_spanblock > span.edited_by |
BAud div.meta > span.edited_by_spanblock > span.edited_by > a |
Benoît Sibaud div.meta > span.edited_by_spanblock > span.edited_by > a |
Julien Jorge div.meta > span.edited_by_spanblock > span.edited_by > a |
Modéré par bobble bubble. article.node > header > div.meta > span.moderated_by_spanblock |
bobble bubble header > div.meta > span.moderated_by_spanblock > a |
Licence CC By‑SA. article.node > header > div.meta > a |
Posté par David Tschumperlé (site web personnel) le 29 juillet 2026 à 09:25. article.node > header > div.meta > span.posted_by_spanblock |
David Tschumperlé header > div.meta > span.posted_by_spanblock > a |
site web personnel header > div.meta > span.posted_by_spanblock > a |
le 29 juillet 2026 à 09:25 header > div.meta > span.posted_by_spanblock > time.updated |
Édité par 4 personnes. article.node > header > div.meta > span.edited_by_spanblock |
4 personnes div.meta > span.edited_by_spanblock > span.edited_by > a |
Modéré par bobble bubble. article.node > header > div.meta > span.moderated_by_spanblock |
bobble bubble header > div.meta > span.moderated_by_spanblock > a |
Licence CC By‑SA. article.node > header > div.meta > a |
Posté par Podcast Projets Libres (site web personnel, Mastodon) le 28 juillet 2… article.node > header > div.meta > span.posted_by_spanblock |
Podcast Projets Libres header > div.meta > span.posted_by_spanblock > a |
site web personnel header > div.meta > span.posted_by_spanblock > a |
Mastodon header > div.meta > span.posted_by_spanblock > a |
le 28 juillet 2026 à 14:17 header > div.meta > span.posted_by_spanblock > time.updated |
Édité par Benoît Sibaud. article.node > header > div.meta > span.edited_by_spanblock |
Benoît Sibaud div.meta > span.edited_by_spanblock > span.edited_by > a |
Modéré par devnewton 🍺. article.node > header > div.meta > span.moderated_by_spanblock |
devnewton 🍺 header > div.meta > span.moderated_by_spanblock > a |
Licence CC By‑SA. article.node > header > div.meta > a |
10 nav.toolbox > nav.pagination > span.page > a |
11 nav.toolbox > nav.pagination > span.page > a |
Suivant › nav.toolbox > nav.pagination > span.next > a |
Dernier › nav.toolbox > nav.pagination > span.last > a |
Revenir en haut de page section#container > footer > p > a.scroll |
These are opportunities to improve the legibility of your content.
Best practices
Touch targets with sufficient size and spacing help users who may have difficulty targeting small controls to activate the targets. Learn more about touch targets.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
Liens nav#site > ul > li > a |
Forums nav#site > ul > li > a |
Rédaction nav#site > ul > li > a |
🎙️ Projets Libres nav#site > ul > li > a#podcast |
nav#site > form > div.searchbox > input#query nav#site > form > div.searchbox > input#query |
[ZDNET] Logiciels libres et collectivités au congrès de l'Adullact div.content > ul > li > a |
Éditions D-BookeR section#friends > ul > li > a |
Éditions Diamond section#friends > ul > li > a |
Éditions Eyrolles section#friends > ul > li > a |
Éditions ENI section#friends > ul > li > a |
En Vente Libre section#friends > ul > li > a |
Framasoft section#friends > ul > li > a |
Open Source Initiative section#friends > ul > li > a |
Imprimerie Grafik Plus section#friends > ul > li > a |
Mentions légales nav#about_us > ul > li > a |
Faire un don nav#about_us > ul > li > a |
L’équipe de LinuxFr.org nav#about_us > ul > li > a |
Informations sur le site nav#about_us > ul > li > a |
Aide / Foire aux questions nav#about_us > ul > li > a |
Suivi des suggestions et bogues nav#about_us > ul > li > a |
These items highlight common accessibility best practices.