{
  "id": "article-accessibility-en",
  "page_type": "article",
  "language": "en",
  "canonical": "https://www.edikka.com/en/insights/web-development/web-accessibility-professional-website-basics",
  "title": "Web accessibility: 36 essential checks and XLSX grid",
  "source_archive": "audit/bibliotheque-consolidation-2026-09-11/production-check/en_insights_web-development_web-accessibility-professional-website-basics.html",
  "source_html_sha256": "54a81eb9b8c69a4d823ca9d0c0dac924cdc5a86685bf5ae97d724fb4e66c0a83",
  "source_bytes": 163781,
  "scripts_executed": false,
  "external_resources_fetched": false,
  "deterministic_replay": true,
  "component_replays": {
    "readability": true,
    "trafilatura": true,
    "readability_lxml": true,
    "newspaper4k": true,
    "justext": true,
    "html2text": true,
    "markdownify": true
  },
  "nondeterministic_outputs": {},
  "first_output_sha256": "f01dd89d9ff0318f1b5e4669edc6de9be8f9d5f76b0bc018fa0f28b8677f05f0",
  "replay_output_sha256": "f01dd89d9ff0318f1b5e4669edc6de9be8f9d5f76b0bc018fa0f28b8677f05f0",
  "outputs": {
    "readability": {
      "tool": "@mozilla/readability",
      "version": "0.6.0",
      "status": "ok",
      "title": "Web accessibility: 36 essential checks and XLSX grid",
      "byline": null,
      "excerpt": "Edikka method v1.0: 36 web accessibility checks, acceptance criteria, evidence, WCAG 2.2, RGAA 4.1.2 and a free XLSX grid.",
      "content": "<div id=\"readability-page-1\" class=\"page\"><div data-accessibility-foundation=\"1.0\" data-control-count=\"36\" data-family-count=\"8\"> <section aria-labelledby=\"accessibility-foundation-answer\"> <p>Short answer</p> <h2 id=\"accessibility-foundation-answer\" data-toc-title=\"Short answer\">An accessible website is not identified by a score: it is verified through journeys, criteria and evidence.</h2> <div><p>Web accessibility removes barriers that prevent a person from perceiving content, understanding an interface, navigating or taking action. On a professional website, the useful starting point is neither a vague statement nor an automated score. It is a bounded, replayable check linked to evidence.</p><p>This edition publishes the <strong>Edikka foundation v1.0</strong>: 36 checks across 8 families, each with an acceptance criterion, method, expected evidence and mapping to WCAG 2.2 and RGAA 4.1.2 themes. It helps teams begin. It does not replace a conformance audit.</p></div> <div role=\"group\" aria-label=\"Edikka method v1.0: eight operational families, thirty-six replayable checks, four controlled statuses and no automatic certification\"><p><strong>8</strong><span>operational families</span></p><p><strong>36</strong><span>replayable checks</span></p><p><strong>4</strong><span>controlled statuses</span></p><p><strong>No</strong><span>automatic certification</span></p></div> <div><p><span>Evidence rule</span></p><p>A check that has not been tested is not a pass. It remains “not tested”. Missing evidence is never converted into success.</p></div> </section> <section aria-labelledby=\"accessibility-foundation-scope\"> <p>Scope</p><h2 id=\"accessibility-foundation-scope\" data-toc-title=\"Foundation scope\">This foundation answers “where do we start?”, not “are we legally conformant?”</h2> <div><p>WCAG 2.2 organises success criteria under four principles: perceivable, operable, understandable and robust. RGAA 4.1.2 provides a French operational method of criteria and tests. WCAG-EM frames whole-website evaluation and sampling. These layers do not serve the same purpose.</p><p>The foundation selects frequent barriers that can be checked on a page or critical journey. A WCAG claim or RGAA statement requires a defined scope, representative sample, all applicable criteria and human testing. Whether RGAA or the EAA applies also depends on the entity and the service.</p></div> <div><table><caption>Four qualification questions before discussing obligations</caption><thead><tr><th scope=\"col\">Question</th><th scope=\"col\">Decision available here</th><th scope=\"col\">Correct next step</th></tr></thead><tbody> <tr><td data-label=\"Question\">Is the entity in the public scope or subject to a specific French obligation?</td><td data-label=\"Decision\">Qualify it; do not infer an obligation from the mere existence of a website.</td><td data-label=\"Next step\"><a href=\"https://www.edikka.com/en/insights/web-development/rgaa-wcag-eaa-digital-accessibility\">Read the RGAA, WCAG and EAA guide</a>.</td></tr> <tr><td data-label=\"Question\">Does the B2C service fall within EAA categories applying since 28 June 2025?</td><td data-label=\"Decision\">Qualify by service, business and exemptions.</td><td data-label=\"Next step\">Document scope with legal advice where necessary.</td></tr> <tr><td data-label=\"Question\">Is the need an initial diagnosis or conformance evidence?</td><td data-label=\"Decision\">This foundation supports initial diagnosis.</td><td data-label=\"Next step\">For conformance evidence, prepare a full audit and representative sample.</td></tr> <tr><td data-label=\"Question\">Is an automated score available?</td><td data-label=\"Decision\">The score informs a subset of automatable rules.</td><td data-label=\"Next step\"><a href=\"https://www.edikka.com/en/insights/web-development/lighthouse-100-accessibility\">Understand what Lighthouse does not prove</a>.</td></tr> </tbody></table></div> <p><strong>Legal limit.</strong> This table orients the work; it is not legal advice. The French DGCCRF page lists products and services covered by the European directive and related exemptions.</p> </section> <section aria-labelledby=\"accessibility-foundation-selection\"><p>Selection method</p><h2 id=\"accessibility-foundation-selection\" data-toc-title=\"Selection rule\">Why 36 checks: the count comes from a published rule, not a marketing number.</h2><p>A check enters the foundation only if it satisfies all five conditions below. This avoids reducing accessibility to ten generic tips or presenting a short table as the whole of WCAG and RGAA. Families receive no quota: forms, keyboard and landmarks contain more checks when the rule produces more.</p><ol aria-label=\"Check inclusion rule\"><li><p>The check applies to most public pages or transactional journeys on a professional website.</p></li><li><p>The result can be observed on a bounded scope without claiming to sample the entire website.</p></li><li><p>The acceptance criterion and expected evidence can be stated without opaque judgement.</p></li><li><p>A failure creates an access, understanding, navigation or action barrier.</p></li><li><p>The check maps to a WCAG 2.2 Level A or AA success criterion and an RGAA 4.1.2 theme.</p></li></ol><div><p><span>Outside the foundation</span></p><p>Criteria that depend on a medium, sector, legal scope, full sample or specialist judgement belong in the dedicated audit. “Not applicable” must be justified, never used to inflate a score.</p></div></section> <section aria-labelledby=\"accessibility-foundation-families\"><p>Dual taxonomy</p><h2 id=\"accessibility-foundation-families\" data-toc-title=\"8 families\">Eight families to act, with normative mapping to verify.</h2><p>The operational family helps a team assign the correction. WCAG/RGAA mapping leads back to primary references. Both taxonomies are retained: one organises action, the other prevents Edikka from inventing its own standard.</p><div role=\"list\" aria-label=\"Eight families in the accessibility foundation\"><div role=\"listitem\"><p><span>01</span></p><p>4 checks</p><h3>Orientation and structure</h3><p><strong>WCAG:</strong> Operable / Understandable<br><strong>RGAA:</strong> 8 · Éléments obligatoires; 9 · Structuration; 12 · Navigation</p></div><div role=\"listitem\"><p><span>02</span></p><p>4 checks</p><h3>Content and alternatives</h3><p><strong>WCAG:</strong> Perceivable / Understandable<br><strong>RGAA:</strong> 1 · Images; 3 · Couleurs; 6 · Liens; 13 · Consultation</p></div><div role=\"listitem\"><p><span>03</span></p><p>4 checks</p><h3>Visual perception</h3><p><strong>WCAG:</strong> Perceivable<br><strong>RGAA:</strong> 3 · Couleurs; 10 · Présentation</p></div><div role=\"listitem\"><p><span>04</span></p><p>5 checks</p><h3>Keyboard and focus</h3><p><strong>WCAG:</strong> Operable<br><strong>RGAA:</strong> 7 · Scripts; 10 · Présentation; 12 · Navigation</p></div><div role=\"listitem\"><p><span>05</span></p><p>4 checks</p><h3>Components and states</h3><p><strong>WCAG:</strong> Operable / Robust<br><strong>RGAA:</strong> 7 · Scripts; 12 · Navigation</p></div><div role=\"listitem\"><p><span>06</span></p><p>6 checks</p><h3>Forms and errors</h3><p><strong>WCAG:</strong> Understandable / Robust<br><strong>RGAA:</strong> 11 · Formulaires</p></div><div role=\"listitem\"><p><span>07</span></p><p>4 checks</p><h3>Media, motion and time</h3><p><strong>WCAG:</strong> Perceivable / Operable<br><strong>RGAA:</strong> 4 · Multimédia; 13 · Consultation</p></div><div role=\"listitem\"><p><span>08</span></p><p>5 checks</p><h3>Adaptation and robustness</h3><p><strong>WCAG:</strong> Operable / Understandable / Robust<br><strong>RGAA:</strong> 7 · Scripts; 10 · Présentation; 12 · Navigation; 13 · Consultation</p></div></div></section> <section aria-labelledby=\"accessibility-foundation-checks\"><p>Open grid · v1.0</p><h2 id=\"accessibility-foundation-checks\" data-toc-title=\"36 checks\">The 36 foundation checks, each with visible acceptance criteria and evidence.</h2><div><p>The visible table publishes the acceptance criterion and expected evidence. The XLSX adds detailed method, owner, status, date, limitation and evidence link. The JSON is the machine source shared by the French and English editions.</p><p><strong>Normative reading.</strong> RGAA 4.1.2 aligns with WCAG 2.1. Checks A11Y33 to A11Y36 cover four A/AA criteria added in WCAG 2.2; their RGAA mapping identifies the relevant operational theme and states that version 4.1.2 has no direct equivalent.</p></div><div><table><caption>The 36 checks in the Edikka v1.0 foundation. RGAA mapping identifies a relevant theme, not a conformance result.</caption><thead><tr><th scope=\"col\">ID</th><th scope=\"col\">Family</th><th scope=\"col\">Barrier checked</th><th scope=\"col\">Acceptance criterion</th><th scope=\"col\">Expected evidence</th><th scope=\"col\">WCAG 2.2 / RGAA 4.1.2</th><th scope=\"col\">Severity</th></tr></thead><tbody><tr id=\"control-a11y01\"><td data-label=\"ID\"><strong>A11Y01</strong></td><td data-label=\"Family\">Orientation and structure</td><td data-label=\"Check\"><strong>Identifiable page title</strong><br><span>The user cannot tell which page is open.</span></td><td data-label=\"Acceptance\">The browser title describes the page and distinguishes it from other pages.</td><td data-label=\"Expected evidence\">Browser-tab screenshot and head extract.</td><td data-label=\"WCAG / RGAA\"><span>2.4.2 (A)</span><br><small>8 · Éléments obligatoires</small></td><td data-label=\"Severity\">High</td></tr><tr id=\"control-a11y02\"><td data-label=\"ID\"><strong>A11Y02</strong></td><td data-label=\"Family\">Orientation and structure</td><td data-label=\"Check\"><strong>Declared primary language</strong><br><span>Speech output pronounces content incorrectly.</span></td><td data-label=\"Acceptance\">The html lang attribute matches the actual primary language.</td><td data-label=\"Expected evidence\">DOM extract and test log.</td><td data-label=\"WCAG / RGAA\"><span>3.1.1 (A)</span><br><small>8 · Éléments obligatoires</small></td><td data-label=\"Severity\">High</td></tr><tr id=\"control-a11y03\"><td data-label=\"ID\"><strong>A11Y03</strong></td><td data-label=\"Family\">Orientation and structure</td><td data-label=\"Check\"><strong>Coherent heading hierarchy</strong><br><span>Sections become difficult to scan or understand.</span></td><td data-label=\"Acceptance\">One H1 describes the topic; H2/H3 reflect content nesting and are not decorative.</td><td data-label=\"Expected evidence\">Exported heading outline.</td><td data-label=\"WCAG / RGAA\"><span>1.3.1 (A); 2.4.6 (AA)</span><br><small>9 · Structuration</small></td><td data-label=\"Severity\">High</td></tr><tr id=\"control-a11y04\"><td data-label=\"ID\"><strong>A11Y04</strong></td><td data-label=\"Family\">Orientation and structure</td><td data-label=\"Check\"><strong>Landmarks and direct access to content</strong><br><span>Repeated navigation must be traversed on every page.</span></td><td data-label=\"Acceptance\">Main content is inside main; a working bypass link reaches a visible or focusable target.</td><td data-label=\"Expected evidence\">Keyboard video and accessibility tree.</td><td data-label=\"WCAG / RGAA\"><span>1.3.1 (A); 2.4.1 (A)</span><br><small>9 · Structuration; 12 · Navigation</small></td><td data-label=\"Severity\">High</td></tr><tr id=\"control-a11y05\"><td data-label=\"ID\"><strong>A11Y05</strong></td><td data-label=\"Family\">Content and alternatives</td><td data-label=\"Check\"><strong>Alternatives for informative images</strong><br><span>Information conveyed by an image disappears.</span></td><td data-label=\"Acceptance\">Each informative image has an equivalent alternative; decorative images can be ignored.</td><td data-label=\"Expected evidence\">Screenshot without images and DOM extract.</td><td data-label=\"WCAG / RGAA\"><span>1.1.1 (A)</span><br><small>1 · Images</small></td><td data-label=\"Severity\">High</td></tr><tr id=\"control-a11y06\"><td data-label=\"ID\"><strong>A11Y06</strong></td><td data-label=\"Family\">Content and alternatives</td><td data-label=\"Check\"><strong>Names for functional images and icons</strong><br><span>A graphical action is silent or ambiguous.</span></td><td data-label=\"Acceptance\">The accessible name describes the action or destination, not the icon appearance.</td><td data-label=\"Expected evidence\">Accessibility tree or DOM report.</td><td data-label=\"WCAG / RGAA\"><span>1.1.1 (A); 4.1.2 (A)</span><br><small>1 · Images; 7 · Scripts</small></td><td data-label=\"Severity\">Blocking</td></tr><tr id=\"control-a11y07\"><td data-label=\"ID\"><strong>A11Y07</strong></td><td data-label=\"Family\">Content and alternatives</td><td data-label=\"Check\"><strong>Links understandable in context</strong><br><span>The destination of a link must be guessed.</span></td><td data-label=\"Acceptance\">The label and programmatic context identify the destination or function.</td><td data-label=\"Expected evidence\">Link list and context screenshots.</td><td data-label=\"WCAG / RGAA\"><span>2.4.4 (A)</span><br><small>6 · Liens</small></td><td data-label=\"Severity\">High</td></tr><tr id=\"control-a11y08\"><td data-label=\"ID\"><strong>A11Y08</strong></td><td data-label=\"Family\">Content and alternatives</td><td data-label=\"Check\"><strong>Instructions independent of shape and colour</strong><br><span>Instructions become unusable without full visual perception.</span></td><td data-label=\"Acceptance\">No essential instruction relies only on colour, position, shape or sound.</td><td data-label=\"Expected evidence\">Annotated screenshot and review log.</td><td data-label=\"WCAG / RGAA\"><span>1.3.3 (A); 1.4.1 (A)</span><br><small>3 · Couleurs; 13 · Consultation</small></td><td data-label=\"Severity\">High</td></tr><tr id=\"control-a11y09\"><td data-label=\"ID\"><strong>A11Y09</strong></td><td data-label=\"Family\">Visual perception</td><td data-label=\"Check\"><strong>Text contrast</strong><br><span>Text becomes unreadable for many users.</span></td><td data-label=\"Acceptance\">Contrast reaches 4.5:1 for normal text and 3:1 for large text, subject to WCAG exceptions.</td><td data-label=\"Expected evidence\">Contrast report with values and screenshots.</td><td data-label=\"WCAG / RGAA\"><span>1.4.3 (AA)</span><br><small>3 · Couleurs</small></td><td data-label=\"Severity\">High</td></tr><tr id=\"control-a11y10\"><td data-label=\"ID\"><strong>A11Y10</strong></td><td data-label=\"Family\">Visual perception</td><td data-label=\"Check\"><strong>Contrast of components and meaningful states</strong><br><span>A field, focus indicator or state cannot be perceived.</span></td><td data-label=\"Acceptance\">Necessary visual boundaries and states reach 3:1 against adjacent colours, subject to WCAG exceptions.</td><td data-label=\"Expected evidence\">Component contrast report.</td><td data-label=\"WCAG / RGAA\"><span>1.4.11 (AA)</span><br><small>3 · Couleurs; 10 · Présentation</small></td><td data-label=\"Severity\">High</td></tr><tr id=\"control-a11y11\"><td data-label=\"ID\"><strong>A11Y11</strong></td><td data-label=\"Family\">Visual perception</td><td data-label=\"Check\"><strong>Text zoom and custom spacing</strong><br><span>Content overlaps or disappears when reading settings are adapted.</span></td><td data-label=\"Acceptance\">At 200% zoom and WCAG text spacing, text and functions remain available without loss.</td><td data-label=\"Expected evidence\">Before/after screenshots and test log.</td><td data-label=\"WCAG / RGAA\"><span>1.4.4 (AA); 1.4.12 (AA)</span><br><small>10 · Présentation</small></td><td data-label=\"Severity\">High</td></tr><tr id=\"control-a11y12\"><td data-label=\"ID\"><strong>A11Y12</strong></td><td data-label=\"Family\">Visual perception</td><td data-label=\"Check\"><strong>Reflow at 320 CSS pixels</strong><br><span>Two-dimensional reading or horizontal scrolling is imposed.</span></td><td data-label=\"Acceptance\">Content and actions remain usable at 320 CSS px without loss or global horizontal scrolling, subject to exceptions.</td><td data-label=\"Expected evidence\">Full-page screenshot and scrollWidth/clientWidth measurement.</td><td data-label=\"WCAG / RGAA\"><span>1.4.10 (AA)</span><br><small>10 · Présentation</small></td><td data-label=\"Severity\">Blocking</td></tr><tr id=\"control-a11y13\"><td data-label=\"ID\"><strong>A11Y13</strong></td><td data-label=\"Family\">Keyboard and focus</td><td data-label=\"Check\"><strong>All functions available by keyboard</strong><br><span>A person without a mouse cannot complete the journey.</span></td><td data-label=\"Acceptance\">Every essential action can be completed by keyboard without pointer-dependent gestures.</td><td data-label=\"Expected evidence\">Uncut keyboard-journey video.</td><td data-label=\"WCAG / RGAA\"><span>2.1.1 (A)</span><br><small>7 · Scripts; 12 · Navigation</small></td><td data-label=\"Severity\">Blocking</td></tr><tr id=\"control-a11y14\"><td data-label=\"ID\"><strong>A11Y14</strong></td><td data-label=\"Family\">Keyboard and focus</td><td data-label=\"Check\"><strong>No keyboard trap</strong><br><span>Focus enters a component and cannot leave it.</span></td><td data-label=\"Acceptance\">Focus can leave every component through a standard or documented method.</td><td data-label=\"Expected evidence\">Video and key sequence.</td><td data-label=\"WCAG / RGAA\"><span>2.1.2 (A)</span><br><small>7 · Scripts; 12 · Navigation</small></td><td data-label=\"Severity\">Blocking</td></tr><tr id=\"control-a11y15\"><td data-label=\"ID\"><strong>A11Y15</strong></td><td data-label=\"Family\">Keyboard and focus</td><td data-label=\"Check\"><strong>Visible and unobscured focus</strong><br><span>The user loses their position or focus is covered.</span></td><td data-label=\"Acceptance\">Every focused control is perceptible and not entirely hidden by fixed content.</td><td data-label=\"Expected evidence\">Video or screenshots for each component family.</td><td data-label=\"WCAG / RGAA\"><span>2.4.7 (AA); 2.4.11 (AA)</span><br><small>10 · Présentation; 12 · Navigation</small></td><td data-label=\"Severity\">High</td></tr><tr id=\"control-a11y16\"><td data-label=\"ID\"><strong>A11Y16</strong></td><td data-label=\"Family\">Keyboard and focus</td><td data-label=\"Check\"><strong>Logical focus order</strong><br><span>Reading and actions follow an incoherent order.</span></td><td data-label=\"Acceptance\">Sequential focus preserves meaning and operation; no positive tabindex forces it artificially.</td><td data-label=\"Expected evidence\">Numbered focus log and DOM extract.</td><td data-label=\"WCAG / RGAA\"><span>2.4.3 (A)</span><br><small>12 · Navigation</small></td><td data-label=\"Severity\">High</td></tr><tr id=\"control-a11y17\"><td data-label=\"ID\"><strong>A11Y17</strong></td><td data-label=\"Family\">Components and states</td><td data-label=\"Check\"><strong>Accessible name aligned with visible label</strong><br><span>Voice control cannot find the displayed control.</span></td><td data-label=\"Acceptance\">The accessible name contains the visible action text in a useful matching order.</td><td data-label=\"Expected evidence\">Screenshot and accessibility tree.</td><td data-label=\"WCAG / RGAA\"><span>2.5.3 (A)</span><br><small>7 · Scripts</small></td><td data-label=\"Severity\">High</td></tr><tr id=\"control-a11y18\"><td data-label=\"ID\"><strong>A11Y18</strong></td><td data-label=\"Family\">Components and states</td><td data-label=\"Check\"><strong>Programmatic name, role, value and state</strong><br><span>The component is announced without a function or state.</span></td><td data-label=\"Acceptance\">Each component exposes a name, role and, where needed, an updated value or state.</td><td data-label=\"Expected evidence\">Two accessibility-tree captures.</td><td data-label=\"WCAG / RGAA\"><span>4.1.2 (A)</span><br><small>7 · Scripts</small></td><td data-label=\"Severity\">Blocking</td></tr><tr id=\"control-a11y19\"><td data-label=\"ID\"><strong>A11Y19</strong></td><td data-label=\"Family\">Components and states</td><td data-label=\"Check\"><strong>Focus management for dialogs and panels</strong><br><span>Context changes without orientation or background content remains active.</span></td><td data-label=\"Acceptance\">On open, focus enters the component; it stays when required; on close, it returns to a logical point.</td><td data-label=\"Expected evidence\">Keyboard video and accessibility tree.</td><td data-label=\"WCAG / RGAA\"><span>2.4.3 (A); 2.1.2 (A); 4.1.2 (A)</span><br><small>7 · Scripts; 12 · Navigation</small></td><td data-label=\"Severity\">Blocking</td></tr><tr id=\"control-a11y20\"><td data-label=\"ID\"><strong>A11Y20</strong></td><td data-label=\"Family\">Components and states</td><td data-label=\"Check\"><strong>Announced status messages</strong><br><span>Success, error or update feedback remains invisible to speech output.</span></td><td data-label=\"Acceptance\">Important messages are exposed without unnecessarily moving focus.</td><td data-label=\"Expected evidence\">Screen-reader log and DOM extract.</td><td data-label=\"WCAG / RGAA\"><span>4.1.3 (AA)</span><br><small>7 · Scripts; 11 · Formulaires</small></td><td data-label=\"Severity\">High</td></tr><tr id=\"control-a11y21\"><td data-label=\"ID\"><strong>A11Y21</strong></td><td data-label=\"Family\">Forms and errors</td><td data-label=\"Check\"><strong>Explicit label for every field</strong><br><span>The expected data must be guessed.</span></td><td data-label=\"Acceptance\">Each field has a persistent, correctly associated and sufficiently precise label.</td><td data-label=\"Expected evidence\">Screenshot and DOM extract.</td><td data-label=\"WCAG / RGAA\"><span>1.3.1 (A); 3.3.2 (A)</span><br><small>11 · Formulaires</small></td><td data-label=\"Severity\">Blocking</td></tr><tr id=\"control-a11y22\"><td data-label=\"ID\"><strong>A11Y22</strong></td><td data-label=\"Family\">Forms and errors</td><td data-label=\"Check\"><strong>Identifiable purpose for personal-data fields</strong><br><span>Input assistance and autocomplete cannot work correctly.</span></td><td data-label=\"Acceptance\">Common personal-data fields use a valid autocomplete token when their purpose is known.</td><td data-label=\"Expected evidence\">DOM report of input attributes.</td><td data-label=\"WCAG / RGAA\"><span>1.3.5 (AA)</span><br><small>11 · Formulaires</small></td><td data-label=\"Severity\">Medium</td></tr><tr id=\"control-a11y23\"><td data-label=\"ID\"><strong>A11Y23</strong></td><td data-label=\"Family\">Forms and errors</td><td data-label=\"Check\"><strong>Errors identified and linked to fields</strong><br><span>The user knows submission failed but not where or why.</span></td><td data-label=\"Acceptance\">The error is named, located, linked to the field and announced; correct data is retained.</td><td data-label=\"Expected evidence\">Video, screenshot and accessibility tree.</td><td data-label=\"WCAG / RGAA\"><span>3.3.1 (A); 3.3.3 (AA)</span><br><small>11 · Formulaires</small></td><td data-label=\"Severity\">Blocking</td></tr><tr id=\"control-a11y24\"><td data-label=\"ID\"><strong>A11Y24</strong></td><td data-label=\"Family\">Forms and errors</td><td data-label=\"Check\"><strong>Prevention and confirmation for sensitive actions</strong><br><span>A legal, financial or irreversible action is confirmed by mistake.</span></td><td data-label=\"Acceptance\">The user can review, correct or confirm before finalisation and receives usable confirmation.</td><td data-label=\"Expected evidence\">Journey video and confirmation screenshot.</td><td data-label=\"WCAG / RGAA\"><span>3.3.4 (AA)</span><br><small>11 · Formulaires</small></td><td data-label=\"Severity\">Blocking</td></tr><tr id=\"control-a11y25\"><td data-label=\"ID\"><strong>A11Y25</strong></td><td data-label=\"Family\">Media, motion and time</td><td data-label=\"Check\"><strong>Captions for prerecorded video</strong><br><span>Audio content is inaccessible to deaf or hard-of-hearing users.</span></td><td data-label=\"Acceptance\">Speech and meaningful sounds are available in synchronised, reviewed captions.</td><td data-label=\"Expected evidence\">Video excerpt and caption file.</td><td data-label=\"WCAG / RGAA\"><span>1.2.2 (A)</span><br><small>4 · Multimédia</small></td><td data-label=\"Severity\">High</td></tr><tr id=\"control-a11y26\"><td data-label=\"ID\"><strong>A11Y26</strong></td><td data-label=\"Family\">Media, motion and time</td><td data-label=\"Check\"><strong>Alternative for essential visual or audio content</strong><br><span>A demonstration, chart or meaningful sound has no equivalent.</span></td><td data-label=\"Acceptance\">A transcript, audio description or text alternative conveys the necessary information for the medium.</td><td data-label=\"Expected evidence\">Transcript or alternative track linked to the media.</td><td data-label=\"WCAG / RGAA\"><span>1.2.3 (A); 1.2.5 (AA)</span><br><small>4 · Multimédia</small></td><td data-label=\"Severity\">High</td></tr><tr id=\"control-a11y27\"><td data-label=\"ID\"><strong>A11Y27</strong></td><td data-label=\"Family\">Media, motion and time</td><td data-label=\"Check\"><strong>Control of autoplay, motion and timing</strong><br><span>Content disrupts reading or expires before the action is complete.</span></td><td data-label=\"Acceptance\">Automatic audio can be stopped; long animations can be paused; time limits can be controlled, subject to exceptions.</td><td data-label=\"Expected evidence\">Video and timed test log.</td><td data-label=\"WCAG / RGAA\"><span>1.4.2 (A); 2.2.1 (A); 2.2.2 (A)</span><br><small>4 · Multimédia; 13 · Consultation</small></td><td data-label=\"Severity\">Blocking</td></tr><tr id=\"control-a11y28\"><td data-label=\"ID\"><strong>A11Y28</strong></td><td data-label=\"Family\">Media, motion and time</td><td data-label=\"Check\"><strong>Safe flashing and controllable motion</strong><br><span>Flashing or automatically moving content causes discomfort, loss of focus or neurological risk.</span></td><td data-label=\"Acceptance\">No content flashes more than three times per second and any automatic animation lasting more than five seconds can be paused, stopped or hidden.</td><td data-label=\"Expected evidence\">Scenario video and flashing measurement report where applicable.</td><td data-label=\"WCAG / RGAA\"><span>2.2.2 (A); 2.3.1 (A)</span><br><small>13 · Consultation</small></td><td data-label=\"Severity\">High</td></tr><tr id=\"control-a11y29\"><td data-label=\"ID\"><strong>A11Y29</strong></td><td data-label=\"Family\">Adaptation and robustness</td><td data-label=\"Check\"><strong>Orientation not restricted</strong><br><span>The service becomes unusable on a device fixed in one orientation.</span></td><td data-label=\"Acceptance\">Content works in portrait and landscape unless orientation is essential.</td><td data-label=\"Expected evidence\">Two screenshots and test log.</td><td data-label=\"WCAG / RGAA\"><span>1.3.4 (AA)</span><br><small>13 · Consultation</small></td><td data-label=\"Severity\">High</td></tr><tr id=\"control-a11y30\"><td data-label=\"ID\"><strong>A11Y30</strong></td><td data-label=\"Family\">Adaptation and robustness</td><td data-label=\"Check\"><strong>Sufficiently large touch targets</strong><br><span>An action is difficult to trigger accurately on mobile.</span></td><td data-label=\"Acceptance\">Targets reach 24 × 24 CSS px or meet an exception in WCAG 2.5.8.</td><td data-label=\"Expected evidence\">Annotated screenshot with CSS dimensions.</td><td data-label=\"WCAG / RGAA\"><span>2.5.8 (AA)</span><br><small>10 · Présentation; 13 · Consultation</small></td><td data-label=\"Severity\">Medium</td></tr><tr id=\"control-a11y31\"><td data-label=\"ID\"><strong>A11Y31</strong></td><td data-label=\"Family\">Adaptation and robustness</td><td data-label=\"Check\"><strong>Consistent navigation and components</strong><br><span>The same element changes name, position or behaviour without reason.</span></td><td data-label=\"Acceptance\">Repeated navigation keeps a consistent order and identical components are identified consistently.</td><td data-label=\"Expected evidence\">Comparison table and screenshots.</td><td data-label=\"WCAG / RGAA\"><span>3.2.3 (AA); 3.2.4 (AA)</span><br><small>12 · Navigation</small></td><td data-label=\"Severity\">Medium</td></tr><tr id=\"control-a11y32\"><td data-label=\"ID\"><strong>A11Y32</strong></td><td data-label=\"Family\">Adaptation and robustness</td><td data-label=\"Check\"><strong>Coherent programmatic reading order</strong><br><span>Visual reordering disconnects reading, meaning and action.</span></td><td data-label=\"Acceptance\">At each viewport, DOM order and assistive-technology output preserve the meaning of content and instructions.</td><td data-label=\"Expected evidence\">Annotated capture, DOM extract and reading log.</td><td data-label=\"WCAG / RGAA\"><span>1.3.2 (A)</span><br><small>9 · Structuration; 10 · Présentation</small></td><td data-label=\"Severity\">High</td></tr><tr id=\"control-a11y33\"><td data-label=\"ID\"><strong>A11Y33</strong></td><td data-label=\"Family\">Keyboard and focus</td><td data-label=\"Check\"><strong>Alternative to dragging movements</strong><br><span>An action requires precise drag-and-drop that a person cannot perform.</span></td><td data-label=\"Acceptance\">Any function based on dragging can also be completed with a single-pointer action, unless dragging is essential.</td><td data-label=\"Expected evidence\">Video comparing the dragging gesture with its single-action alternative.</td><td data-label=\"WCAG / RGAA\"><span>2.5.7 (AA)</span><br><small>7 · Scripts — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2</small></td><td data-label=\"Severity\">High</td></tr><tr id=\"control-a11y34\"><td data-label=\"ID\"><strong>A11Y34</strong></td><td data-label=\"Family\">Adaptation and robustness</td><td data-label=\"Check\"><strong>Consistent help across pages</strong><br><span>The way to obtain help changes position or order and becomes difficult to find.</span></td><td data-label=\"Acceptance\">When a help mechanism repeats across pages, it keeps the same relative order unless the user initiated the change.</td><td data-label=\"Expected evidence\">Comparison table of help-mechanism order and dated screenshots.</td><td data-label=\"WCAG / RGAA\"><span>3.2.6 (A)</span><br><small>12 · Navigation — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2</small></td><td data-label=\"Severity\">Medium</td></tr><tr id=\"control-a11y35\"><td data-label=\"ID\"><strong>A11Y35</strong></td><td data-label=\"Family\">Forms and errors</td><td data-label=\"Check\"><strong>Redundant entry avoided</strong><br><span>Information already supplied must be entered again in the same process.</span></td><td data-label=\"Acceptance\">Previously supplied information is auto-populated or available for selection, except for security, necessity or invalid-data exceptions.</td><td data-label=\"Expected evidence\">Full-journey video and inventory of repeated fields with documented exceptions.</td><td data-label=\"WCAG / RGAA\"><span>3.3.7 (A)</span><br><small>11 · Formulaires — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2</small></td><td data-label=\"Severity\">High</td></tr><tr id=\"control-a11y36\"><td data-label=\"ID\"><strong>A11Y36</strong></td><td data-label=\"Family\">Forms and errors</td><td data-label=\"Check\"><strong>Accessible authentication</strong><br><span>Signing in requires a cognitive test, memorisation or transcription without an alternative.</span></td><td data-label=\"Acceptance\">Authentication does not require a cognitive-function test, or provides an alternative, assistance mechanism, or object/personal-content recognition covered by WCAG exceptions.</td><td data-label=\"Expected evidence\">Authentication-journey video, inventory of cognitive requirements and documented exceptions.</td><td data-label=\"WCAG / RGAA\"><span>3.3.8 (AA)</span><br><small>11 · Formulaires — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2</small></td><td data-label=\"Severity\">Blocking</td></tr></tbody></table></div></section> <section aria-labelledby=\"accessibility-foundation-execution\"><p>Execution</p><h2 id=\"accessibility-foundation-execution\" data-toc-title=\"Run a check\">An actionable check connects six fields: scope, scenario, result, evidence, status and owner.</h2><p>“Check the keyboard” is not evidence. A scenario must name the page, viewport, initial state, keys used and action to complete. The expected result must be observable. The evidence must allow a third party to replay or challenge the conclusion.</p><div><div><p><span>Vague check</span></p><p>“The menu is keyboard accessible.” No journey, evidence or environment.</p></div><pre tabindex=\"0\"><code>Status: pass\nEvidence: none\nConclusion: cannot be replayed</code></pre></div><div><div><p><span>Replayable check</span></p><p>A11Y13 · Mobile menu · Chrome 140 · 390 × 844 · keyboard only.</p></div><pre tabindex=\"0\"><code>1. Tab to the Menu button\n2. Press Enter to open\n3. Tab through every link\n4. Press Escape to close\n5. Check focus returns\n\nEvidence: video + dated log\nStatus: Pass / Fail / Not tested / Not applicable</code></pre></div><div><p><span>Controlled status</span></p><p>Severity describes the impact of a defect. Status describes the test result. Release blocking is a governance decision. The three are not merged.</p></div></section> <section aria-labelledby=\"accessibility-foundation-priority\"><p>Prioritisation</p><h2 id=\"accessibility-foundation-priority\" data-toc-title=\"Prioritise\">Fix first what prevents people from perceiving, navigating or completing the action.</h2><div><table><caption>Edikka foundation severity vocabulary</caption><thead><tr><th scope=\"col\">Severity</th><th scope=\"col\">Definition</th><th scope=\"col\">Example</th><th scope=\"col\">Expected decision</th></tr></thead><tbody><tr><td data-label=\"Severity\"><strong>Blocking</strong></td><td data-label=\"Definition\">The critical journey cannot be completed or essential information disappears.</td><td data-label=\"Example\">Keyboard-inoperable form; field without label; unlocated error.</td><td data-label=\"Decision\">Fix before release or document a no-go decision.</td></tr><tr><td data-label=\"Severity\"><strong>High</strong></td><td data-label=\"Definition\">The journey remains possible but creates major difficulty or uncertainty.</td><td data-label=\"Example\">Poorly visible focus; insufficient contrast; repeated ambiguous link.</td><td data-label=\"Decision\">Fix in the priority batch and retest.</td></tr><tr><td data-label=\"Severity\"><strong>Medium</strong></td><td data-label=\"Definition\">The friction is real but does not alone block the main objective.</td><td data-label=\"Example\">Small touch target; inconsistent name for a secondary component.</td><td data-label=\"Decision\">Plan, assign and verify non-regression.</td></tr></tbody></table></div></section> <section aria-labelledby=\"accessibility-foundation-tools\"><p>Automation and people</p><h2 id=\"accessibility-foundation-tools\" data-toc-title=\"Tools and people\">Tools detect symptoms; human journeys establish impact.</h2><div><p>A validator can find a missing attribute, measurable contrast or an empty accessible name. It cannot always decide whether an alternative conveys the right meaning, whether an error message actually helps or whether focus returns to the right context. The method therefore requires a bounded human replay with assistive technology, without turning it into a standalone WCAG criterion.</p><p>The minimum combination is HTML and DOM validation, automated audit, keyboard testing, reflow, contrast, accessibility tree and a screen-reader journey. Environment, date and limitations must accompany the result.</p></div></section> <section aria-labelledby=\"accessibility-foundation-workflow\"><p>Project cycle</p><h2 id=\"accessibility-foundation-workflow\" data-toc-title=\"Project workflow\">Accessibility is decided before mockups and replayed after launch.</h2><div role=\"group\" aria-label=\"Six steps in the accessibility cycle\"><div><p>Scope</p><h3>Qualify service, users and critical journeys.</h3><p>Legal scope and test scope are separate decisions.</p></div><div><p>Design</p><h3>Define states, errors, content and interactions before pixels.</h3><p>A mockup must show focus, errors, confirmations and responsive variants.</p></div><div><p>Components</p><h3>Code behaviours in the design system.</h3><p>A fix to a button, dialog or field should benefit every instance.</p></div><div><p>Content</p><h3>Name headings, links, alternatives and instructions.</h3><p>Semantics are not a technical wrapper: they carry published meaning.</p></div><div><p>Acceptance</p><h3>Replay the 36 applicable checks.</h3><p>Each defect receives evidence, severity, owner and retest.</p></div><div><p>Production</p><h3>Monitor journeys and regressions.</h3><p>A page accessible today can break with the next component, content update or third-party script.</p></div></div></section> <section aria-labelledby=\"accessibility-foundation-cluster\"><p>Cluster architecture</p><h2 id=\"accessibility-foundation-cluster\" data-toc-title=\"Cluster journey\">One question, one reference page: the foundation routes without repeating everything.</h2></section> <section aria-labelledby=\"accessibility-foundation-assets\"><p>Open assets</p><h2 id=\"accessibility-foundation-assets\" data-toc-title=\"Open assets\">Download, replay, challenge and improve the method.</h2><p>The assets are free, require no form and use a CC BY 4.0 licence. You may adapt and redistribute them with attribution to Edikka and the canonical URL. The XLSX supports teamwork; JSON is the machine source; Markdown exposes a stable text edition.</p></section> <section aria-labelledby=\"accessibility-foundation-sources\"><p>Primary sources</p><h2 id=\"accessibility-foundation-sources\" data-toc-title=\"Sources\">The Edikka method links back to the standards it does not replace.</h2></section> <section aria-labelledby=\"accessibility-foundation-integrity\"><p>Version and integrity</p><h2 id=\"accessibility-foundation-integrity\" data-toc-title=\"Version and integrity\">A citable, dated method that can be verified down to each file.</h2><div><p><strong>Version 1.0 · published and reviewed 25 August 2026 · next review 25 November 2026.</strong> Changelog: first public bilingual release of the 36-check foundation.</p><p>Recommended citation: <cite>Edikka, “Professional website accessibility foundation · v1.0”, 25 August 2026</cite>, with a link to the canonical URL. No DOI is claimed until a persistent third-party repository assigns one.</p></div><div><div><p><span>SHA-256 fingerprints</span></p><p>These fingerprints verify that downloaded JSON and XLSX files match the assets cited by this edition.</p></div><pre tabindex=\"0\"><code>JSON  8fdfeddda1f94f427e54274a90003a7e824f15a5304ceeba2a9509453c5e31cd\nXLSX  f869d70bef0b716070d7af9b6f8f1354e5d969574ea3bb890226dd7df29aeb90</code></pre></div></section> <section aria-labelledby=\"accessibility-foundation-limit\"><p>Voluntary limit</p><h2 id=\"accessibility-foundation-limit\" data-toc-title=\"Voluntary limit\">Edikka is a web agency: this grid is a published working method, not an independent standard.</h2><div><p>We use this grid to scope, design and accept websites. We therefore have a commercial interest in demonstrating the quality of the method. To make that conflict visible, we publish the selection rule, limits, sources, checks and reusable formats.</p><p>The foundation does not cover every applicable criterion, calculate an RGAA rate, certify any website or guarantee legal compliance, absence of barriers, SEO ranking or AI citation. Clear structure makes a page more reliable to read; visibility depends on other signals.</p></div></section> <section aria-labelledby=\"accessibility-foundation-conclusion\"><p>Conclusion</p><h2 id=\"accessibility-foundation-conclusion\" data-toc-title=\"Conclusion\">Start with a real journey, an observable barrier and replayable evidence.</h2><div><p>Accessibility does not progress when a team adds a score to a dashboard. It progresses when a person can complete an action that was previously impossible, the fix is carried by the right component and a third party can replay the test.</p><p>Choose a critical journey, run the 36 applicable checks, retain evidence, fix blockers and retest. Then expand the scope with a full audit method when the objective becomes conformance.</p></div><div><p><span>Decision</span></p><p>Do not publish “accessible” because a tool is green. Publish what was tested, how, when, with what evidence and what limitations.</p></div></section></div></div>",
      "textContent": "  Short answer An accessible website is not identified by a score: it is verified through journeys, criteria and evidence. Web accessibility removes barriers that prevent a person from perceiving content, understanding an interface, navigating or taking action. On a professional website, the useful starting point is neither a vague statement nor an automated score. It is a bounded, replayable check linked to evidence.This edition publishes the Edikka foundation v1.0: 36 checks across 8 families, each with an acceptance criterion, method, expected evidence and mapping to WCAG 2.2 and RGAA 4.1.2 themes. It helps teams begin. It does not replace a conformance audit. 8operational families36replayable checks4controlled statusesNoautomatic certification Evidence ruleA check that has not been tested is not a pass. It remains “not tested”. Missing evidence is never converted into success.   ScopeThis foundation answers “where do we start?”, not “are we legally conformant?” WCAG 2.2 organises success criteria under four principles: perceivable, operable, understandable and robust. RGAA 4.1.2 provides a French operational method of criteria and tests. WCAG-EM frames whole-website evaluation and sampling. These layers do not serve the same purpose.The foundation selects frequent barriers that can be checked on a page or critical journey. A WCAG claim or RGAA statement requires a defined scope, representative sample, all applicable criteria and human testing. Whether RGAA or the EAA applies also depends on the entity and the service. Four qualification questions before discussing obligationsQuestionDecision available hereCorrect next step Is the entity in the public scope or subject to a specific French obligation?Qualify it; do not infer an obligation from the mere existence of a website.Read the RGAA, WCAG and EAA guide. Does the B2C service fall within EAA categories applying since 28 June 2025?Qualify by service, business and exemptions.Document scope with legal advice where necessary. Is the need an initial diagnosis or conformance evidence?This foundation supports initial diagnosis.For conformance evidence, prepare a full audit and representative sample. Is an automated score available?The score informs a subset of automatable rules.Understand what Lighthouse does not prove.  Legal limit. This table orients the work; it is not legal advice. The French DGCCRF page lists products and services covered by the European directive and related exemptions.  Selection methodWhy 36 checks: the count comes from a published rule, not a marketing number.A check enters the foundation only if it satisfies all five conditions below. This avoids reducing accessibility to ten generic tips or presenting a short table as the whole of WCAG and RGAA. Families receive no quota: forms, keyboard and landmarks contain more checks when the rule produces more.The check applies to most public pages or transactional journeys on a professional website.The result can be observed on a bounded scope without claiming to sample the entire website.The acceptance criterion and expected evidence can be stated without opaque judgement.A failure creates an access, understanding, navigation or action barrier.The check maps to a WCAG 2.2 Level A or AA success criterion and an RGAA 4.1.2 theme.Outside the foundationCriteria that depend on a medium, sector, legal scope, full sample or specialist judgement belong in the dedicated audit. “Not applicable” must be justified, never used to inflate a score. Dual taxonomyEight families to act, with normative mapping to verify.The operational family helps a team assign the correction. WCAG/RGAA mapping leads back to primary references. Both taxonomies are retained: one organises action, the other prevents Edikka from inventing its own standard.014 checksOrientation and structureWCAG: Operable / UnderstandableRGAA: 8 · Éléments obligatoires; 9 · Structuration; 12 · Navigation024 checksContent and alternativesWCAG: Perceivable / UnderstandableRGAA: 1 · Images; 3 · Couleurs; 6 · Liens; 13 · Consultation034 checksVisual perceptionWCAG: PerceivableRGAA: 3 · Couleurs; 10 · Présentation045 checksKeyboard and focusWCAG: OperableRGAA: 7 · Scripts; 10 · Présentation; 12 · Navigation054 checksComponents and statesWCAG: Operable / RobustRGAA: 7 · Scripts; 12 · Navigation066 checksForms and errorsWCAG: Understandable / RobustRGAA: 11 · Formulaires074 checksMedia, motion and timeWCAG: Perceivable / OperableRGAA: 4 · Multimédia; 13 · Consultation085 checksAdaptation and robustnessWCAG: Operable / Understandable / RobustRGAA: 7 · Scripts; 10 · Présentation; 12 · Navigation; 13 · Consultation Open grid · v1.0The 36 foundation checks, each with visible acceptance criteria and evidence.The visible table publishes the acceptance criterion and expected evidence. The XLSX adds detailed method, owner, status, date, limitation and evidence link. The JSON is the machine source shared by the French and English editions.Normative reading. RGAA 4.1.2 aligns with WCAG 2.1. Checks A11Y33 to A11Y36 cover four A/AA criteria added in WCAG 2.2; their RGAA mapping identifies the relevant operational theme and states that version 4.1.2 has no direct equivalent.The 36 checks in the Edikka v1.0 foundation. RGAA mapping identifies a relevant theme, not a conformance result.IDFamilyBarrier checkedAcceptance criterionExpected evidenceWCAG 2.2 / RGAA 4.1.2SeverityA11Y01Orientation and structureIdentifiable page titleThe user cannot tell which page is open.The browser title describes the page and distinguishes it from other pages.Browser-tab screenshot and head extract.2.4.2 (A)8 · Éléments obligatoiresHighA11Y02Orientation and structureDeclared primary languageSpeech output pronounces content incorrectly.The html lang attribute matches the actual primary language.DOM extract and test log.3.1.1 (A)8 · Éléments obligatoiresHighA11Y03Orientation and structureCoherent heading hierarchySections become difficult to scan or understand.One H1 describes the topic; H2/H3 reflect content nesting and are not decorative.Exported heading outline.1.3.1 (A); 2.4.6 (AA)9 · StructurationHighA11Y04Orientation and structureLandmarks and direct access to contentRepeated navigation must be traversed on every page.Main content is inside main; a working bypass link reaches a visible or focusable target.Keyboard video and accessibility tree.1.3.1 (A); 2.4.1 (A)9 · Structuration; 12 · NavigationHighA11Y05Content and alternativesAlternatives for informative imagesInformation conveyed by an image disappears.Each informative image has an equivalent alternative; decorative images can be ignored.Screenshot without images and DOM extract.1.1.1 (A)1 · ImagesHighA11Y06Content and alternativesNames for functional images and iconsA graphical action is silent or ambiguous.The accessible name describes the action or destination, not the icon appearance.Accessibility tree or DOM report.1.1.1 (A); 4.1.2 (A)1 · Images; 7 · ScriptsBlockingA11Y07Content and alternativesLinks understandable in contextThe destination of a link must be guessed.The label and programmatic context identify the destination or function.Link list and context screenshots.2.4.4 (A)6 · LiensHighA11Y08Content and alternativesInstructions independent of shape and colourInstructions become unusable without full visual perception.No essential instruction relies only on colour, position, shape or sound.Annotated screenshot and review log.1.3.3 (A); 1.4.1 (A)3 · Couleurs; 13 · ConsultationHighA11Y09Visual perceptionText contrastText becomes unreadable for many users.Contrast reaches 4.5:1 for normal text and 3:1 for large text, subject to WCAG exceptions.Contrast report with values and screenshots.1.4.3 (AA)3 · CouleursHighA11Y10Visual perceptionContrast of components and meaningful statesA field, focus indicator or state cannot be perceived.Necessary visual boundaries and states reach 3:1 against adjacent colours, subject to WCAG exceptions.Component contrast report.1.4.11 (AA)3 · Couleurs; 10 · PrésentationHighA11Y11Visual perceptionText zoom and custom spacingContent overlaps or disappears when reading settings are adapted.At 200% zoom and WCAG text spacing, text and functions remain available without loss.Before/after screenshots and test log.1.4.4 (AA); 1.4.12 (AA)10 · PrésentationHighA11Y12Visual perceptionReflow at 320 CSS pixelsTwo-dimensional reading or horizontal scrolling is imposed.Content and actions remain usable at 320 CSS px without loss or global horizontal scrolling, subject to exceptions.Full-page screenshot and scrollWidth/clientWidth measurement.1.4.10 (AA)10 · PrésentationBlockingA11Y13Keyboard and focusAll functions available by keyboardA person without a mouse cannot complete the journey.Every essential action can be completed by keyboard without pointer-dependent gestures.Uncut keyboard-journey video.2.1.1 (A)7 · Scripts; 12 · NavigationBlockingA11Y14Keyboard and focusNo keyboard trapFocus enters a component and cannot leave it.Focus can leave every component through a standard or documented method.Video and key sequence.2.1.2 (A)7 · Scripts; 12 · NavigationBlockingA11Y15Keyboard and focusVisible and unobscured focusThe user loses their position or focus is covered.Every focused control is perceptible and not entirely hidden by fixed content.Video or screenshots for each component family.2.4.7 (AA); 2.4.11 (AA)10 · Présentation; 12 · NavigationHighA11Y16Keyboard and focusLogical focus orderReading and actions follow an incoherent order.Sequential focus preserves meaning and operation; no positive tabindex forces it artificially.Numbered focus log and DOM extract.2.4.3 (A)12 · NavigationHighA11Y17Components and statesAccessible name aligned with visible labelVoice control cannot find the displayed control.The accessible name contains the visible action text in a useful matching order.Screenshot and accessibility tree.2.5.3 (A)7 · ScriptsHighA11Y18Components and statesProgrammatic name, role, value and stateThe component is announced without a function or state.Each component exposes a name, role and, where needed, an updated value or state.Two accessibility-tree captures.4.1.2 (A)7 · ScriptsBlockingA11Y19Components and statesFocus management for dialogs and panelsContext changes without orientation or background content remains active.On open, focus enters the component; it stays when required; on close, it returns to a logical point.Keyboard video and accessibility tree.2.4.3 (A); 2.1.2 (A); 4.1.2 (A)7 · Scripts; 12 · NavigationBlockingA11Y20Components and statesAnnounced status messagesSuccess, error or update feedback remains invisible to speech output.Important messages are exposed without unnecessarily moving focus.Screen-reader log and DOM extract.4.1.3 (AA)7 · Scripts; 11 · FormulairesHighA11Y21Forms and errorsExplicit label for every fieldThe expected data must be guessed.Each field has a persistent, correctly associated and sufficiently precise label.Screenshot and DOM extract.1.3.1 (A); 3.3.2 (A)11 · FormulairesBlockingA11Y22Forms and errorsIdentifiable purpose for personal-data fieldsInput assistance and autocomplete cannot work correctly.Common personal-data fields use a valid autocomplete token when their purpose is known.DOM report of input attributes.1.3.5 (AA)11 · FormulairesMediumA11Y23Forms and errorsErrors identified and linked to fieldsThe user knows submission failed but not where or why.The error is named, located, linked to the field and announced; correct data is retained.Video, screenshot and accessibility tree.3.3.1 (A); 3.3.3 (AA)11 · FormulairesBlockingA11Y24Forms and errorsPrevention and confirmation for sensitive actionsA legal, financial or irreversible action is confirmed by mistake.The user can review, correct or confirm before finalisation and receives usable confirmation.Journey video and confirmation screenshot.3.3.4 (AA)11 · FormulairesBlockingA11Y25Media, motion and timeCaptions for prerecorded videoAudio content is inaccessible to deaf or hard-of-hearing users.Speech and meaningful sounds are available in synchronised, reviewed captions.Video excerpt and caption file.1.2.2 (A)4 · MultimédiaHighA11Y26Media, motion and timeAlternative for essential visual or audio contentA demonstration, chart or meaningful sound has no equivalent.A transcript, audio description or text alternative conveys the necessary information for the medium.Transcript or alternative track linked to the media.1.2.3 (A); 1.2.5 (AA)4 · MultimédiaHighA11Y27Media, motion and timeControl of autoplay, motion and timingContent disrupts reading or expires before the action is complete.Automatic audio can be stopped; long animations can be paused; time limits can be controlled, subject to exceptions.Video and timed test log.1.4.2 (A); 2.2.1 (A); 2.2.2 (A)4 · Multimédia; 13 · ConsultationBlockingA11Y28Media, motion and timeSafe flashing and controllable motionFlashing or automatically moving content causes discomfort, loss of focus or neurological risk.No content flashes more than three times per second and any automatic animation lasting more than five seconds can be paused, stopped or hidden.Scenario video and flashing measurement report where applicable.2.2.2 (A); 2.3.1 (A)13 · ConsultationHighA11Y29Adaptation and robustnessOrientation not restrictedThe service becomes unusable on a device fixed in one orientation.Content works in portrait and landscape unless orientation is essential.Two screenshots and test log.1.3.4 (AA)13 · ConsultationHighA11Y30Adaptation and robustnessSufficiently large touch targetsAn action is difficult to trigger accurately on mobile.Targets reach 24 × 24 CSS px or meet an exception in WCAG 2.5.8.Annotated screenshot with CSS dimensions.2.5.8 (AA)10 · Présentation; 13 · ConsultationMediumA11Y31Adaptation and robustnessConsistent navigation and componentsThe same element changes name, position or behaviour without reason.Repeated navigation keeps a consistent order and identical components are identified consistently.Comparison table and screenshots.3.2.3 (AA); 3.2.4 (AA)12 · NavigationMediumA11Y32Adaptation and robustnessCoherent programmatic reading orderVisual reordering disconnects reading, meaning and action.At each viewport, DOM order and assistive-technology output preserve the meaning of content and instructions.Annotated capture, DOM extract and reading log.1.3.2 (A)9 · Structuration; 10 · PrésentationHighA11Y33Keyboard and focusAlternative to dragging movementsAn action requires precise drag-and-drop that a person cannot perform.Any function based on dragging can also be completed with a single-pointer action, unless dragging is essential.Video comparing the dragging gesture with its single-action alternative.2.5.7 (AA)7 · Scripts — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2HighA11Y34Adaptation and robustnessConsistent help across pagesThe way to obtain help changes position or order and becomes difficult to find.When a help mechanism repeats across pages, it keeps the same relative order unless the user initiated the change.Comparison table of help-mechanism order and dated screenshots.3.2.6 (A)12 · Navigation — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2MediumA11Y35Forms and errorsRedundant entry avoidedInformation already supplied must be entered again in the same process.Previously supplied information is auto-populated or available for selection, except for security, necessity or invalid-data exceptions.Full-journey video and inventory of repeated fields with documented exceptions.3.3.7 (A)11 · Formulaires — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2HighA11Y36Forms and errorsAccessible authenticationSigning in requires a cognitive test, memorisation or transcription without an alternative.Authentication does not require a cognitive-function test, or provides an alternative, assistance mechanism, or object/personal-content recognition covered by WCAG exceptions.Authentication-journey video, inventory of cognitive requirements and documented exceptions.3.3.8 (AA)11 · Formulaires — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2Blocking ExecutionAn actionable check connects six fields: scope, scenario, result, evidence, status and owner.“Check the keyboard” is not evidence. A scenario must name the page, viewport, initial state, keys used and action to complete. The expected result must be observable. The evidence must allow a third party to replay or challenge the conclusion.Vague check“The menu is keyboard accessible.” No journey, evidence or environment.Status: pass\nEvidence: none\nConclusion: cannot be replayedReplayable checkA11Y13 · Mobile menu · Chrome 140 · 390 × 844 · keyboard only.1. Tab to the Menu button\n2. Press Enter to open\n3. Tab through every link\n4. Press Escape to close\n5. Check focus returns\n\nEvidence: video + dated log\nStatus: Pass / Fail / Not tested / Not applicableControlled statusSeverity describes the impact of a defect. Status describes the test result. Release blocking is a governance decision. The three are not merged. PrioritisationFix first what prevents people from perceiving, navigating or completing the action.Edikka foundation severity vocabularySeverityDefinitionExampleExpected decisionBlockingThe critical journey cannot be completed or essential information disappears.Keyboard-inoperable form; field without label; unlocated error.Fix before release or document a no-go decision.HighThe journey remains possible but creates major difficulty or uncertainty.Poorly visible focus; insufficient contrast; repeated ambiguous link.Fix in the priority batch and retest.MediumThe friction is real but does not alone block the main objective.Small touch target; inconsistent name for a secondary component.Plan, assign and verify non-regression. Automation and peopleTools detect symptoms; human journeys establish impact.A validator can find a missing attribute, measurable contrast or an empty accessible name. It cannot always decide whether an alternative conveys the right meaning, whether an error message actually helps or whether focus returns to the right context. The method therefore requires a bounded human replay with assistive technology, without turning it into a standalone WCAG criterion.The minimum combination is HTML and DOM validation, automated audit, keyboard testing, reflow, contrast, accessibility tree and a screen-reader journey. Environment, date and limitations must accompany the result. Project cycleAccessibility is decided before mockups and replayed after launch.ScopeQualify service, users and critical journeys.Legal scope and test scope are separate decisions.DesignDefine states, errors, content and interactions before pixels.A mockup must show focus, errors, confirmations and responsive variants.ComponentsCode behaviours in the design system.A fix to a button, dialog or field should benefit every instance.ContentName headings, links, alternatives and instructions.Semantics are not a technical wrapper: they carry published meaning.AcceptanceReplay the 36 applicable checks.Each defect receives evidence, severity, owner and retest.ProductionMonitor journeys and regressions.A page accessible today can break with the next component, content update or third-party script. Cluster architectureOne question, one reference page: the foundation routes without repeating everything. Open assetsDownload, replay, challenge and improve the method.The assets are free, require no form and use a CC BY 4.0 licence. You may adapt and redistribute them with attribution to Edikka and the canonical URL. The XLSX supports teamwork; JSON is the machine source; Markdown exposes a stable text edition. Primary sourcesThe Edikka method links back to the standards it does not replace. Version and integrityA citable, dated method that can be verified down to each file.Version 1.0 · published and reviewed 25 August 2026 · next review 25 November 2026. Changelog: first public bilingual release of the 36-check foundation.Recommended citation: Edikka, “Professional website accessibility foundation · v1.0”, 25 August 2026, with a link to the canonical URL. No DOI is claimed until a persistent third-party repository assigns one.SHA-256 fingerprintsThese fingerprints verify that downloaded JSON and XLSX files match the assets cited by this edition.JSON  8fdfeddda1f94f427e54274a90003a7e824f15a5304ceeba2a9509453c5e31cd\nXLSX  f869d70bef0b716070d7af9b6f8f1354e5d969574ea3bb890226dd7df29aeb90 Voluntary limitEdikka is a web agency: this grid is a published working method, not an independent standard.We use this grid to scope, design and accept websites. We therefore have a commercial interest in demonstrating the quality of the method. To make that conflict visible, we publish the selection rule, limits, sources, checks and reusable formats.The foundation does not cover every applicable criterion, calculate an RGAA rate, certify any website or guarantee legal compliance, absence of barriers, SEO ranking or AI citation. Clear structure makes a page more reliable to read; visibility depends on other signals. ConclusionStart with a real journey, an observable barrier and replayable evidence.Accessibility does not progress when a team adds a score to a dashboard. It progresses when a person can complete an action that was previously impossible, the fix is carried by the right component and a third party can replay the test.Choose a critical journey, run the 36 applicable checks, retain evidence, fix blockers and retest. Then expand the scope with a full audit method when the objective becomes conformance.DecisionDo not publish “accessible” because a tool is green. Publish what was tested, how, when, with what evidence and what limitations.",
      "length": 21743
    },
    "trafilatura": {
      "tool": "trafilatura",
      "version": "2.2.0",
      "configuration": {
        "include_comments": false,
        "include_links": true,
        "include_tables": true,
        "no_fallback": false,
        "favor_precision": false,
        "favor_recall": false,
        "formats": [
          "xml",
          "txt"
        ]
      },
      "source": "article-accessibility-en.html",
      "xml": "<doc fingerprint=\"ce01da8428d0575e\">\n  <main>\n    <p>Web development</p>\n    <head rend=\"h1\">Web accessibility: 36 essential checks for a professional website</head>\n    <p><ref target=\"/en/library#instrument-professional-website-accessibility-foundation\">Part of the Edikka instrument library</ref>v1.1 · CC BY 4.0</p>\n    <head rend=\"h2\">Professional website accessibility foundation</head>\n    <p>Prepare a journey assessment and identify checks needing further review.</p>\n    <head>Preview, files and citation</head>\n    <p>Inside the instrument</p>\n    <table>\n      <row>\n        <cell role=\"head\">Three excerpts from the published file · abridged where necessary</cell>\n      </row>\n      <row>\n        <cell role=\"head\">ID</cell>\n        <cell role=\"head\">Check</cell>\n        <cell role=\"head\">Expected evidence</cell>\n      </row>\n      <row>\n        <cell>A11Y01</cell>\n        <cell>Identifiable page title</cell>\n        <cell>Browser-tab screenshot and head extract.</cell>\n      </row>\n      <row>\n        <cell>A11Y02</cell>\n        <cell>Declared primary language</cell>\n        <cell>DOM extract and test log.</cell>\n      </row>\n      <row>\n        <cell>A11Y03</cell>\n        <cell>Coherent heading hierarchy</cell>\n        <cell>Exported heading outline.</cell>\n      </row>\n    </table>\n    <p><ref target=\"/docbd/data/socle-accessibilite-site-professionnel-edikka-v1-1.json\">Read the original file — Professional website accessibility foundation</ref> · v1.1 </p>\n    <p>Cite this version</p>\n    <p>Edikka (2026). Professional website accessibility foundation (v1.1). https://www.edikka.com/en/insights/web-development/web-accessibility-professional-website-basics#library-source-professional-website-accessibility-foundation. Accessed 2026-09-11. CC BY 4.0.</p>\n    <p>Version history: this catalogue documents the version shown above. No earlier change log is provided here.</p>\n    <p>\n      <ref target=\"mailto:agence@edikka.com?subject=Library%20correction%20%E2%80%94%20Professional%20website%20accessibility%20foundation%20%C2%B7%20v1.1&amp;body=Professional%20website%20accessibility%20foundation%20%C2%B7%20v1.1%0Ahttps%3A%2F%2Fwww.edikka.com%2Fdocbd%2Fdata%2Fsocle-accessibilite-site-professionnel-edikka-v1.json%23dataset%0A%0AObserved%20issue%3A%0A%0AEvidence%20or%20reproduction%20steps%3A%0A%0ASuggested%20correction%3A%0A\">Report an issue with this version by email — Professional website accessibility foundation</ref>\n    </p>\n    <p>Interpretation limit. A public candidate for journey diagnosis; the distributed workbook remains edition 1.0 and the package is neither a certification nor an RGAA conformance audit.</p>\n    <p>\n      <ref target=\"/en/library#instrument-professional-website-accessibility-foundation\">Find this instrument in the catalogue</ref>\n    </p>\n    <p>Short answer</p>\n    <head rend=\"h2\">An accessible website is not identified by a score: it is verified through journeys, criteria and evidence.</head>\n    <p>Web accessibility removes barriers that prevent a person from perceiving content, understanding an interface, navigating or taking action. On a professional website, the useful starting point is neither a vague statement nor an automated score. It is a bounded, replayable check linked to evidence.</p>\n    <p>This edition publishes the Edikka foundation v1.0: 36 checks across 8 families, each with an acceptance criterion, method, expected evidence and mapping to WCAG 2.2 and RGAA 4.1.2 themes. It helps teams begin. It does not replace a conformance audit.</p>\n    <p>A check that has not been tested is not a pass. It remains “not tested”. Missing evidence is never converted into success.</p>\n    <p>Scope</p>\n    <head rend=\"h2\">This foundation answers “where do we start?”, not “are we legally conformant?”</head>\n    <p>WCAG 2.2 organises success criteria under four principles: perceivable, operable, understandable and robust. RGAA 4.1.2 provides a French operational method of criteria and tests. WCAG-EM frames whole-website evaluation and sampling. These layers do not serve the same purpose.</p>\n    <p>The foundation selects frequent barriers that can be checked on a page or critical journey. A WCAG claim or RGAA statement requires a defined scope, representative sample, all applicable criteria and human testing. Whether RGAA or the EAA applies also depends on the entity and the service.</p>\n    <table>\n      <row>\n        <cell role=\"head\">Four qualification questions before discussing obligations</cell>\n      </row>\n      <row>\n        <cell role=\"head\">Question</cell>\n        <cell role=\"head\">Decision available here</cell>\n        <cell role=\"head\">Correct next step</cell>\n      </row>\n      <row>\n        <cell>Is the entity in the public scope or subject to a specific French obligation?</cell>\n        <cell>Qualify it; do not infer an obligation from the mere existence of a website.</cell>\n        <cell><ref target=\"/en/insights/web-development/rgaa-wcag-eaa-digital-accessibility\">Read the RGAA, WCAG and EAA guide</ref>.</cell>\n      </row>\n      <row>\n        <cell>Does the B2C service fall within EAA categories applying since 28 June 2025?</cell>\n        <cell>Qualify by service, business and exemptions.</cell>\n        <cell>Document scope with legal advice where necessary.</cell>\n      </row>\n      <row>\n        <cell>Is the need an initial diagnosis or conformance evidence?</cell>\n        <cell>This foundation supports initial diagnosis.</cell>\n        <cell>For conformance evidence, prepare a full audit and representative sample.</cell>\n      </row>\n      <row>\n        <cell>Is an automated score available?</cell>\n        <cell>The score informs a subset of automatable rules.</cell>\n        <cell><ref target=\"/en/insights/web-development/lighthouse-100-accessibility\">Understand what Lighthouse does not prove</ref>.</cell>\n      </row>\n    </table>\n    <p>Legal limit. This table orients the work; it is not legal advice. The French DGCCRF page lists products and services covered by the European directive and related exemptions.</p>\n    <p>Selection method</p>\n    <head rend=\"h2\">Why 36 checks: the count comes from a published rule, not a marketing number.</head>\n    <p>A check enters the foundation only if it satisfies all five conditions below. This avoids reducing accessibility to ten generic tips or presenting a short table as the whole of WCAG and RGAA. Families receive no quota: forms, keyboard and landmarks contain more checks when the rule produces more.</p>\n    <list rend=\"ol\">\n      <item>\n        <p>The check applies to most public pages or transactional journeys on a professional website.</p>\n      </item>\n      <item>\n        <p>The result can be observed on a bounded scope without claiming to sample the entire website.</p>\n      </item>\n      <item>\n        <p>The acceptance criterion and expected evidence can be stated without opaque judgement.</p>\n      </item>\n      <item>\n        <p>A failure creates an access, understanding, navigation or action barrier.</p>\n      </item>\n      <item>\n        <p>The check maps to a WCAG 2.2 Level A or AA success criterion and an RGAA 4.1.2 theme.</p>\n      </item>\n    </list>\n    <p>Criteria that depend on a medium, sector, legal scope, full sample or specialist judgement belong in the dedicated audit. “Not applicable” must be justified, never used to inflate a score.</p>\n    <p>Dual taxonomy</p>\n    <head rend=\"h2\">Eight families to act, with normative mapping to verify.</head>\n    <p>The operational family helps a team assign the correction. WCAG/RGAA mapping leads back to primary references. Both taxonomies are retained: one organises action, the other prevents Edikka from inventing its own standard.</p>\n    <p>4 checks</p>\n    <head rend=\"h3\">Orientation and structure</head>\n    <p>WCAG: Operable / Understandable<lb/>RGAA: 8 · Éléments obligatoires; 9 · Structuration; 12 · Navigation</p>\n    <p>4 checks</p>\n    <head rend=\"h3\">Content and alternatives</head>\n    <p>WCAG: Perceivable / Understandable<lb/>RGAA: 1 · Images; 3 · Couleurs; 6 · Liens; 13 · Consultation</p>\n    <p>4 checks</p>\n    <head rend=\"h3\">Visual perception</head>\n    <p>WCAG: Perceivable<lb/>RGAA: 3 · Couleurs; 10 · Présentation</p>\n    <p>5 checks</p>\n    <head rend=\"h3\">Keyboard and focus</head>\n    <p>WCAG: Operable<lb/>RGAA: 7 · Scripts; 10 · Présentation; 12 · Navigation</p>\n    <p>4 checks</p>\n    <head rend=\"h3\">Components and states</head>\n    <p>WCAG: Operable / Robust<lb/>RGAA: 7 · Scripts; 12 · Navigation</p>\n    <p>6 checks</p>\n    <head rend=\"h3\">Forms and errors</head>\n    <p>WCAG: Understandable / Robust<lb/>RGAA: 11 · Formulaires</p>\n    <p>4 checks</p>\n    <head rend=\"h3\">Media, motion and time</head>\n    <p>WCAG: Perceivable / Operable<lb/>RGAA: 4 · Multimédia; 13 · Consultation</p>\n    <p>5 checks</p>\n    <head rend=\"h3\">Adaptation and robustness</head>\n    <p>WCAG: Operable / Understandable / Robust<lb/>RGAA: 7 · Scripts; 10 · Présentation; 12 · Navigation; 13 · Consultation</p>\n    <p>Open grid · v1.0</p>\n    <head rend=\"h2\">The 36 foundation checks, each with visible acceptance criteria and evidence.</head>\n    <p>The visible table publishes the acceptance criterion and expected evidence. The XLSX adds detailed method, owner, status, date, limitation and evidence link. The JSON is the machine source shared by the French and English editions.</p>\n    <p>Normative reading. RGAA 4.1.2 aligns with WCAG 2.1. Checks A11Y33 to A11Y36 cover four A/AA criteria added in WCAG 2.2; their RGAA mapping identifies the relevant operational theme and states that version 4.1.2 has no direct equivalent.</p>\n    <table>\n      <row>\n        <cell role=\"head\">The 36 checks in the Edikka v1.0 foundation. RGAA mapping identifies a relevant theme, not a conformance result.</cell>\n      </row>\n      <row>\n        <cell role=\"head\">ID</cell>\n        <cell role=\"head\">Family</cell>\n        <cell role=\"head\">Barrier checked</cell>\n        <cell role=\"head\">Acceptance criterion</cell>\n        <cell role=\"head\">Expected evidence</cell>\n        <cell role=\"head\">WCAG 2.2 / RGAA 4.1.2</cell>\n        <cell role=\"head\">Severity</cell>\n      </row>\n      <row>\n        <cell>A11Y01</cell>\n        <cell>Orientation and structure</cell>\n        <cell>Identifiable page title<p>The user cannot tell which page is open.</p></cell>\n        <cell>The browser title describes the page and distinguishes it from other pages.</cell>\n        <cell>Browser-tab screenshot and head extract.</cell>\n        <cell>2.4.2 (A)<p>8 · Éléments obligatoires</p></cell>\n        <cell>High</cell>\n      </row>\n      <row>\n        <cell>A11Y02</cell>\n        <cell>Orientation and structure</cell>\n        <cell>Declared primary language<p>Speech output pronounces content incorrectly.</p></cell>\n        <cell>The html lang attribute matches the actual primary language.</cell>\n        <cell>DOM extract and test log.</cell>\n        <cell>3.1.1 (A)<p>8 · Éléments obligatoires</p></cell>\n        <cell>High</cell>\n      </row>\n      <row>\n        <cell>A11Y03</cell>\n        <cell>Orientation and structure</cell>\n        <cell>Coherent heading hierarchy<p>Sections become difficult to scan or understand.</p></cell>\n        <cell>One H1 describes the topic; H2/H3 reflect content nesting and are not decorative.</cell>\n        <cell>Exported heading outline.</cell>\n        <cell>1.3.1 (A); 2.4.6 (AA)<p>9 · Structuration</p></cell>\n        <cell>High</cell>\n      </row>\n      <row>\n        <cell>A11Y04</cell>\n        <cell>Orientation and structure</cell>\n        <cell>Landmarks and direct access to content<p>Repeated navigation must be traversed on every page.</p></cell>\n        <cell>Main content is inside main; a working bypass link reaches a visible or focusable target.</cell>\n        <cell>Keyboard video and accessibility tree.</cell>\n        <cell>1.3.1 (A); 2.4.1 (A)<p>9 · Structuration; 12 · Navigation</p></cell>\n        <cell>High</cell>\n      </row>\n      <row>\n        <cell>A11Y05</cell>\n        <cell>Content and alternatives</cell>\n        <cell>Alternatives for informative images<p>Information conveyed by an image disappears.</p></cell>\n        <cell>Each informative image has an equivalent alternative; decorative images can be ignored.</cell>\n        <cell>Screenshot without images and DOM extract.</cell>\n        <cell>1.1.1 (A)<p>1 · Images</p></cell>\n        <cell>High</cell>\n      </row>\n      <row>\n        <cell>A11Y06</cell>\n        <cell>Content and alternatives</cell>\n        <cell>Names for functional images and icons<p>A graphical action is silent or ambiguous.</p></cell>\n        <cell>The accessible name describes the action or destination, not the icon appearance.</cell>\n        <cell>Accessibility tree or DOM report.</cell>\n        <cell>1.1.1 (A); 4.1.2 (A)<p>1 · Images; 7 · Scripts</p></cell>\n        <cell>Blocking</cell>\n      </row>\n      <row>\n        <cell>A11Y07</cell>\n        <cell>Content and alternatives</cell>\n        <cell>Links understandable in context<p>The destination of a link must be guessed.</p></cell>\n        <cell>The label and programmatic context identify the destination or function.</cell>\n        <cell>Link list and context screenshots.</cell>\n        <cell>2.4.4 (A)<p>6 · Liens</p></cell>\n        <cell>High</cell>\n      </row>\n      <row>\n        <cell>A11Y08</cell>\n        <cell>Content and alternatives</cell>\n        <cell>Instructions independent of shape and colour<p>Instructions become unusable without full visual perception.</p></cell>\n        <cell>No essential instruction relies only on colour, position, shape or sound.</cell>\n        <cell>Annotated screenshot and review log.</cell>\n        <cell>1.3.3 (A); 1.4.1 (A)<p>3 · Couleurs; 13 · Consultation</p></cell>\n        <cell>High</cell>\n      </row>\n      <row>\n        <cell>A11Y09</cell>\n        <cell>Visual perception</cell>\n        <cell>Text contrast<p>Text becomes unreadable for many users.</p></cell>\n        <cell>Contrast reaches 4.5:1 for normal text and 3:1 for large text, subject to WCAG exceptions.</cell>\n        <cell>Contrast report with values and screenshots.</cell>\n        <cell>1.4.3 (AA)<p>3 · Couleurs</p></cell>\n        <cell>High</cell>\n      </row>\n      <row>\n        <cell>A11Y10</cell>\n        <cell>Visual perception</cell>\n        <cell>Contrast of components and meaningful states<p>A field, focus indicator or state cannot be perceived.</p></cell>\n        <cell>Necessary visual boundaries and states reach 3:1 against adjacent colours, subject to WCAG exceptions.</cell>\n        <cell>Component contrast report.</cell>\n        <cell>1.4.11 (AA)<p>3 · Couleurs; 10 · Présentation</p></cell>\n        <cell>High</cell>\n      </row>\n      <row>\n        <cell>A11Y11</cell>\n        <cell>Visual perception</cell>\n        <cell>Text zoom and custom spacing<p>Content overlaps or disappears when reading settings are adapted.</p></cell>\n        <cell>At 200% zoom and WCAG text spacing, text and functions remain available without loss.</cell>\n        <cell>Before/after screenshots and test log.</cell>\n        <cell>1.4.4 (AA); 1.4.12 (AA)<p>10 · Présentation</p></cell>\n        <cell>High</cell>\n      </row>\n      <row>\n        <cell>A11Y12</cell>\n        <cell>Visual perception</cell>\n        <cell>Reflow at 320 CSS pixels<p>Two-dimensional reading or horizontal scrolling is imposed.</p></cell>\n        <cell>Content and actions remain usable at 320 CSS px without loss or global horizontal scrolling, subject to exceptions.</cell>\n        <cell>Full-page screenshot and scrollWidth/clientWidth measurement.</cell>\n        <cell>1.4.10 (AA)<p>10 · Présentation</p></cell>\n        <cell>Blocking</cell>\n      </row>\n      <row>\n        <cell>A11Y13</cell>\n        <cell>Keyboard and focus</cell>\n        <cell>All functions available by keyboard<p>A person without a mouse cannot complete the journey.</p></cell>\n        <cell>Every essential action can be completed by keyboard without pointer-dependent gestures.</cell>\n        <cell>Uncut keyboard-journey video.</cell>\n        <cell>2.1.1 (A)<p>7 · Scripts; 12 · Navigation</p></cell>\n        <cell>Blocking</cell>\n      </row>\n      <row>\n        <cell>A11Y14</cell>\n        <cell>Keyboard and focus</cell>\n        <cell>No keyboard trap<p>Focus enters a component and cannot leave it.</p></cell>\n        <cell>Focus can leave every component through a standard or documented method.</cell>\n        <cell>Video and key sequence.</cell>\n        <cell>2.1.2 (A)<p>7 · Scripts; 12 · Navigation</p></cell>\n        <cell>Blocking</cell>\n      </row>\n      <row>\n        <cell>A11Y15</cell>\n        <cell>Keyboard and focus</cell>\n        <cell>Visible and unobscured focus<p>The user loses their position or focus is covered.</p></cell>\n        <cell>Every focused control is perceptible and not entirely hidden by fixed content.</cell>\n        <cell>Video or screenshots for each component family.</cell>\n        <cell>2.4.7 (AA); 2.4.11 (AA)<p>10 · Présentation; 12 · Navigation</p></cell>\n        <cell>High</cell>\n      </row>\n      <row>\n        <cell>A11Y16</cell>\n        <cell>Keyboard and focus</cell>\n        <cell>Logical focus order<p>Reading and actions follow an incoherent order.</p></cell>\n        <cell>Sequential focus preserves meaning and operation; no positive tabindex forces it artificially.</cell>\n        <cell>Numbered focus log and DOM extract.</cell>\n        <cell>2.4.3 (A)<p>12 · Navigation</p></cell>\n        <cell>High</cell>\n      </row>\n      <row>\n        <cell>A11Y17</cell>\n        <cell>Components and states</cell>\n        <cell>Accessible name aligned with visible label<p>Voice control cannot find the displayed control.</p></cell>\n        <cell>The accessible name contains the visible action text in a useful matching order.</cell>\n        <cell>Screenshot and accessibility tree.</cell>\n        <cell>2.5.3 (A)<p>7 · Scripts</p></cell>\n        <cell>High</cell>\n      </row>\n      <row>\n        <cell>A11Y18</cell>\n        <cell>Components and states</cell>\n        <cell>Programmatic name, role, value and state<p>The component is announced without a function or state.</p></cell>\n        <cell>Each component exposes a name, role and, where needed, an updated value or state.</cell>\n        <cell>Two accessibility-tree captures.</cell>\n        <cell>4.1.2 (A)<p>7 · Scripts</p></cell>\n        <cell>Blocking</cell>\n      </row>\n      <row>\n        <cell>A11Y19</cell>\n        <cell>Components and states</cell>\n        <cell>Focus management for dialogs and panels<p>Context changes without orientation or background content remains active.</p></cell>\n        <cell>On open, focus enters the component; it stays when required; on close, it returns to a logical point.</cell>\n        <cell>Keyboard video and accessibility tree.</cell>\n        <cell>2.4.3 (A); 2.1.2 (A); 4.1.2 (A)<p>7 · Scripts; 12 · Navigation</p></cell>\n        <cell>Blocking</cell>\n      </row>\n      <row>\n        <cell>A11Y20</cell>\n        <cell>Components and states</cell>\n        <cell>Announced status messages<p>Success, error or update feedback remains invisible to speech output.</p></cell>\n        <cell>Important messages are exposed without unnecessarily moving focus.</cell>\n        <cell>Screen-reader log and DOM extract.</cell>\n        <cell>4.1.3 (AA)<p>7 · Scripts; 11 · Formulaires</p></cell>\n        <cell>High</cell>\n      </row>\n      <row>\n        <cell>A11Y21</cell>\n        <cell>Forms and errors</cell>\n        <cell>Explicit label for every field<p>The expected data must be guessed.</p></cell>\n        <cell>Each field has a persistent, correctly associated and sufficiently precise label.</cell>\n        <cell>Screenshot and DOM extract.</cell>\n        <cell>1.3.1 (A); 3.3.2 (A)<p>11 · Formulaires</p></cell>\n        <cell>Blocking</cell>\n      </row>\n      <row>\n        <cell>A11Y22</cell>\n        <cell>Forms and errors</cell>\n        <cell>Identifiable purpose for personal-data fields<p>Input assistance and autocomplete cannot work correctly.</p></cell>\n        <cell>Common personal-data fields use a valid autocomplete token when their purpose is known.</cell>\n        <cell>DOM report of input attributes.</cell>\n        <cell>1.3.5 (AA)<p>11 · Formulaires</p></cell>\n        <cell>Medium</cell>\n      </row>\n      <row>\n        <cell>A11Y23</cell>\n        <cell>Forms and errors</cell>\n        <cell>Errors identified and linked to fields<p>The user knows submission failed but not where or why.</p></cell>\n        <cell>The error is named, located, linked to the field and announced; correct data is retained.</cell>\n        <cell>Video, screenshot and accessibility tree.</cell>\n        <cell>3.3.1 (A); 3.3.3 (AA)<p>11 · Formulaires</p></cell>\n        <cell>Blocking</cell>\n      </row>\n      <row>\n        <cell>A11Y24</cell>\n        <cell>Forms and errors</cell>\n        <cell>Prevention and confirmation for sensitive actions<p>A legal, financial or irreversible action is confirmed by mistake.</p></cell>\n        <cell>The user can review, correct or confirm before finalisation and receives usable confirmation.</cell>\n        <cell>Journey video and confirmation screenshot.</cell>\n        <cell>3.3.4 (AA)<p>11 · Formulaires</p></cell>\n        <cell>Blocking</cell>\n      </row>\n      <row>\n        <cell>A11Y25</cell>\n        <cell>Media, motion and time</cell>\n        <cell>Captions for prerecorded video<p>Audio content is inaccessible to deaf or hard-of-hearing users.</p></cell>\n        <cell>Speech and meaningful sounds are available in synchronised, reviewed captions.</cell>\n        <cell>Video excerpt and caption file.</cell>\n        <cell>1.2.2 (A)<p>4 · Multimédia</p></cell>\n        <cell>High</cell>\n      </row>\n      <row>\n        <cell>A11Y26</cell>\n        <cell>Media, motion and time</cell>\n        <cell>Alternative for essential visual or audio content<p>A demonstration, chart or meaningful sound has no equivalent.</p></cell>\n        <cell>A transcript, audio description or text alternative conveys the necessary information for the medium.</cell>\n        <cell>Transcript or alternative track linked to the media.</cell>\n        <cell>1.2.3 (A); 1.2.5 (AA)<p>4 · Multimédia</p></cell>\n        <cell>High</cell>\n      </row>\n      <row>\n        <cell>A11Y27</cell>\n        <cell>Media, motion and time</cell>\n        <cell>Control of autoplay, motion and timing<p>Content disrupts reading or expires before the action is complete.</p></cell>\n        <cell>Automatic audio can be stopped; long animations can be paused; time limits can be controlled, subject to exceptions.</cell>\n        <cell>Video and timed test log.</cell>\n        <cell>1.4.2 (A); 2.2.1 (A); 2.2.2 (A)<p>4 · Multimédia; 13 · Consultation</p></cell>\n        <cell>Blocking</cell>\n      </row>\n      <row>\n        <cell>A11Y28</cell>\n        <cell>Media, motion and time</cell>\n        <cell>Safe flashing and controllable motion<p>Flashing or automatically moving content causes discomfort, loss of focus or neurological risk.</p></cell>\n        <cell>No content flashes more than three times per second and any automatic animation lasting more than five seconds can be paused, stopped or hidden.</cell>\n        <cell>Scenario video and flashing measurement report where applicable.</cell>\n        <cell>2.2.2 (A); 2.3.1 (A)<p>13 · Consultation</p></cell>\n        <cell>High</cell>\n      </row>\n      <row>\n        <cell>A11Y29</cell>\n        <cell>Adaptation and robustness</cell>\n        <cell>Orientation not restricted<p>The service becomes unusable on a device fixed in one orientation.</p></cell>\n        <cell>Content works in portrait and landscape unless orientation is essential.</cell>\n        <cell>Two screenshots and test log.</cell>\n        <cell>1.3.4 (AA)<p>13 · Consultation</p></cell>\n        <cell>High</cell>\n      </row>\n      <row>\n        <cell>A11Y30</cell>\n        <cell>Adaptation and robustness</cell>\n        <cell>Sufficiently large touch targets<p>An action is difficult to trigger accurately on mobile.</p></cell>\n        <cell>Targets reach 24 × 24 CSS px or meet an exception in WCAG 2.5.8.</cell>\n        <cell>Annotated screenshot with CSS dimensions.</cell>\n        <cell>2.5.8 (AA)<p>10 · Présentation; 13 · Consultation</p></cell>\n        <cell>Medium</cell>\n      </row>\n      <row>\n        <cell>A11Y31</cell>\n        <cell>Adaptation and robustness</cell>\n        <cell>Consistent navigation and components<p>The same element changes name, position or behaviour without reason.</p></cell>\n        <cell>Repeated navigation keeps a consistent order and identical components are identified consistently.</cell>\n        <cell>Comparison table and screenshots.</cell>\n        <cell>3.2.3 (AA); 3.2.4 (AA)<p>12 · Navigation</p></cell>\n        <cell>Medium</cell>\n      </row>\n      <row>\n        <cell>A11Y32</cell>\n        <cell>Adaptation and robustness</cell>\n        <cell>Coherent programmatic reading order<p>Visual reordering disconnects reading, meaning and action.</p></cell>\n        <cell>At each viewport, DOM order and assistive-technology output preserve the meaning of content and instructions.</cell>\n        <cell>Annotated capture, DOM extract and reading log.</cell>\n        <cell>1.3.2 (A)<p>9 · Structuration; 10 · Présentation</p></cell>\n        <cell>High</cell>\n      </row>\n      <row>\n        <cell>A11Y33</cell>\n        <cell>Keyboard and focus</cell>\n        <cell>Alternative to dragging movements<p>An action requires precise drag-and-drop that a person cannot perform.</p></cell>\n        <cell>Any function based on dragging can also be completed with a single-pointer action, unless dragging is essential.</cell>\n        <cell>Video comparing the dragging gesture with its single-action alternative.</cell>\n        <cell>2.5.7 (AA)<p>7 · Scripts — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2</p></cell>\n        <cell>High</cell>\n      </row>\n      <row>\n        <cell>A11Y34</cell>\n        <cell>Adaptation and robustness</cell>\n        <cell>Consistent help across pages<p>The way to obtain help changes position or order and becomes difficult to find.</p></cell>\n        <cell>When a help mechanism repeats across pages, it keeps the same relative order unless the user initiated the change.</cell>\n        <cell>Comparison table of help-mechanism order and dated screenshots.</cell>\n        <cell>3.2.6 (A)<p>12 · Navigation — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2</p></cell>\n        <cell>Medium</cell>\n      </row>\n      <row>\n        <cell>A11Y35</cell>\n        <cell>Forms and errors</cell>\n        <cell>Redundant entry avoided<p>Information already supplied must be entered again in the same process.</p></cell>\n        <cell>Previously supplied information is auto-populated or available for selection, except for security, necessity or invalid-data exceptions.</cell>\n        <cell>Full-journey video and inventory of repeated fields with documented exceptions.</cell>\n        <cell>3.3.7 (A)<p>11 · Formulaires — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2</p></cell>\n        <cell>High</cell>\n      </row>\n      <row>\n        <cell>A11Y36</cell>\n        <cell>Forms and errors</cell>\n        <cell>Accessible authentication<p>Signing in requires a cognitive test, memorisation or transcription without an alternative.</p></cell>\n        <cell>Authentication does not require a cognitive-function test, or provides an alternative, assistance mechanism, or object/personal-content recognition covered by WCAG exceptions.</cell>\n        <cell>Authentication-journey video, inventory of cognitive requirements and documented exceptions.</cell>\n        <cell>3.3.8 (AA)<p>11 · Formulaires — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2</p></cell>\n        <cell>Blocking</cell>\n      </row>\n    </table>\n    <p>Execution</p>\n    <head rend=\"h2\">An actionable check connects six fields: scope, scenario, result, evidence, status and owner.</head>\n    <p>“Check the keyboard” is not evidence. A scenario must name the page, viewport, initial state, keys used and action to complete. The expected result must be observable. The evidence must allow a third party to replay or challenge the conclusion.</p>\n    <p>“The menu is keyboard accessible.” No journey, evidence or environment.</p>\n    <code>Status: pass\nEvidence: none\nConclusion: cannot be replayed</code>\n    <p>A11Y13 · Mobile menu · Chrome 140 · 390 × 844 · keyboard only.</p>\n    <code>1. Tab to the Menu button\n2. Press Enter to open\n3. Tab through every link\n4. Press Escape to close\n5. Check focus returns\n\nEvidence: video + dated log\nStatus: Pass / Fail / Not tested / Not applicable</code>\n    <p>Severity describes the impact of a defect. Status describes the test result. Release blocking is a governance decision. The three are not merged.</p>\n    <p>Prioritisation</p>\n    <head rend=\"h2\">Fix first what prevents people from perceiving, navigating or completing the action.</head>\n    <table>\n      <row>\n        <cell role=\"head\">Edikka foundation severity vocabulary</cell>\n      </row>\n      <row>\n        <cell role=\"head\">Severity</cell>\n        <cell role=\"head\">Definition</cell>\n        <cell role=\"head\">Example</cell>\n        <cell role=\"head\">Expected decision</cell>\n      </row>\n      <row>\n        <cell>Blocking</cell>\n        <cell>The critical journey cannot be completed or essential information disappears.</cell>\n        <cell>Keyboard-inoperable form; field without label; unlocated error.</cell>\n        <cell>Fix before release or document a no-go decision.</cell>\n      </row>\n      <row>\n        <cell>High</cell>\n        <cell>The journey remains possible but creates major difficulty or uncertainty.</cell>\n        <cell>Poorly visible focus; insufficient contrast; repeated ambiguous link.</cell>\n        <cell>Fix in the priority batch and retest.</cell>\n      </row>\n      <row>\n        <cell>Medium</cell>\n        <cell>The friction is real but does not alone block the main objective.</cell>\n        <cell>Small touch target; inconsistent name for a secondary component.</cell>\n        <cell>Plan, assign and verify non-regression.</cell>\n      </row>\n    </table>\n    <p>Automation and people</p>\n    <head rend=\"h2\">Tools detect symptoms; human journeys establish impact.</head>\n    <p>A validator can find a missing attribute, measurable contrast or an empty accessible name. It cannot always decide whether an alternative conveys the right meaning, whether an error message actually helps or whether focus returns to the right context. The method therefore requires a bounded human replay with assistive technology, without turning it into a standalone WCAG criterion.</p>\n    <p>The minimum combination is HTML and DOM validation, automated audit, keyboard testing, reflow, contrast, accessibility tree and a screen-reader journey. Environment, date and limitations must accompany the result.</p>\n    <p>Project cycle</p>\n    <head rend=\"h2\">Accessibility is decided before mockups and replayed after launch.</head>\n    <p>Scope</p>\n    <head rend=\"h3\">Qualify service, users and critical journeys.</head>\n    <p>Legal scope and test scope are separate decisions.</p>\n    <p>Design</p>\n    <head rend=\"h3\">Define states, errors, content and interactions before pixels.</head>\n    <p>A mockup must show focus, errors, confirmations and responsive variants.</p>\n    <p>Components</p>\n    <head rend=\"h3\">Code behaviours in the design system.</head>\n    <p>A fix to a button, dialog or field should benefit every instance.</p>\n    <p>Content</p>\n    <head rend=\"h3\">Name headings, links, alternatives and instructions.</head>\n    <p>Semantics are not a technical wrapper: they carry published meaning.</p>\n    <p>Acceptance</p>\n    <head rend=\"h3\">Replay the 36 applicable checks.</head>\n    <p>Each defect receives evidence, severity, owner and retest.</p>\n    <p>Production</p>\n    <head rend=\"h3\">Monitor journeys and regressions.</head>\n    <p>A page accessible today can break with the next component, content update or third-party script.</p>\n    <p>Cluster architecture</p>\n    <head rend=\"h2\">One question, one reference page: the foundation routes without repeating everything.</head>\n    <p>Open assets</p>\n    <head rend=\"h2\">Download, replay, challenge and improve the method.</head>\n    <p>The assets are free, require no form and use a CC BY 4.0 licence. You may adapt and redistribute them with attribution to Edikka and the canonical URL. The XLSX supports teamwork; JSON is the machine source; Markdown exposes a stable text edition.</p>\n    <p>Primary sources</p>\n    <head rend=\"h2\">The Edikka method links back to the standards it does not replace.</head>\n    <p>Version and integrity</p>\n    <head rend=\"h2\">A citable, dated method that can be verified down to each file.</head>\n    <p>Version 1.0 · published and reviewed 25 August 2026 · next review 25 November 2026. Changelog: first public bilingual release of the 36-check foundation.</p>\n    <p>Recommended citation: Edikka, “Professional website accessibility foundation · v1.0”, 25 August 2026, with a link to the canonical URL. No DOI is claimed until a persistent third-party repository assigns one.</p>\n    <p>These fingerprints verify that downloaded JSON and XLSX files match the assets cited by this edition.</p>\n    <code>JSON  8fdfeddda1f94f427e54274a90003a7e824f15a5304ceeba2a9509453c5e31cd\nXLSX  f869d70bef0b716070d7af9b6f8f1354e5d969574ea3bb890226dd7df29aeb90</code>\n    <p>Voluntary limit</p>\n    <head rend=\"h2\">Edikka is a web agency: this grid is a published working method, not an independent standard.</head>\n    <p>We use this grid to scope, design and accept websites. We therefore have a commercial interest in demonstrating the quality of the method. To make that conflict visible, we publish the selection rule, limits, sources, checks and reusable formats.</p>\n    <p>The foundation does not cover every applicable criterion, calculate an RGAA rate, certify any website or guarantee legal compliance, absence of barriers, SEO ranking or AI citation. Clear structure makes a page more reliable to read; visibility depends on other signals.</p>\n    <p>Conclusion</p>\n    <head rend=\"h2\">Start with a real journey, an observable barrier and replayable evidence.</head>\n    <p>Accessibility does not progress when a team adds a score to a dashboard. It progresses when a person can complete an action that was previously impossible, the fix is carried by the right component and a third party can replay the test.</p>\n    <p>Choose a critical journey, run the 36 applicable checks, retain evidence, fix blockers and retest. Then expand the scope with a full audit method when the objective becomes conformance.</p>\n    <p>Do not publish “accessible” because a tool is green. Publish what was tested, how, when, with what evidence and what limitations.</p>\n    <head rend=\"h2\">Accessibility becomes credible when design, content and code share the same evidence.</head>\n    <p>A check is not a box. It is an observable commitment: a person can complete the action, the fix holds in the component and the result can be replayed.</p>\n    <head rend=\"h3\">Start from the real journey</head>\n    <p>Priority comes from what a user must perceive, understand and complete—not from what is easiest to measure.</p>\n    <head rend=\"h3\">Fix at the source</head>\n    <p>An accessible, documented and tested component prevents the same defect from being repaired page by page.</p>\n    <head rend=\"h3\">Name what remains unknown</head>\n    <p>Not tested, not applicable and fail are useful information. Hiding them destroys trust.</p>\n    <p>Premium quality does not make accessibility invisible. It embeds its requirements in every design decision.</p>\n    <head rend=\"h2\">Go further on this topic</head>\n    <p>Additional answers to clarify the key points covered in this article.</p>\n  </main>\n  <comments/>\n</doc>",
      "text": "Web development\nWeb accessibility: 36 essential checks for a professional website\n[Part of the Edikka instrument library](/en/library#instrument-professional-website-accessibility-foundation)v1.1 · CC BY 4.0\nProfessional website accessibility foundation\nPrepare a journey assessment and identify checks needing further review.\nPreview, files and citation\nInside the instrument\n| Three excerpts from the published file · abridged where necessary |  |  | \n|---|---|---|\n| ID | Check | Expected evidence | \n|---|---|---|\n| A11Y01 | Identifiable page title | Browser-tab screenshot and head extract. | \n| A11Y02 | Declared primary language | DOM extract and test log. | \n| A11Y03 | Coherent heading hierarchy | Exported heading outline. | \n [Read the original file — Professional website accessibility foundation](/docbd/data/socle-accessibilite-site-professionnel-edikka-v1-1.json)  · v1.1 \nCite this version\nEdikka (2026). Professional website accessibility foundation (v1.1). https://www.edikka.com/en/insights/web-development/web-accessibility-professional-website-basics#library-source-professional-website-accessibility-foundation. Accessed 2026-09-11. CC BY 4.0.\nVersion history: this catalogue documents the version shown above. No earlier change log is provided here.\n[Report an issue with this version by email — Professional website accessibility foundation](mailto:agence@edikka.com?subject=Library%20correction%20%E2%80%94%20Professional%20website%20accessibility%20foundation%20%C2%B7%20v1.1&body=Professional%20website%20accessibility%20foundation%20%C2%B7%20v1.1%0Ahttps%3A%2F%2Fwww.edikka.com%2Fdocbd%2Fdata%2Fsocle-accessibilite-site-professionnel-edikka-v1.json%23dataset%0A%0AObserved%20issue%3A%0A%0AEvidence%20or%20reproduction%20steps%3A%0A%0ASuggested%20correction%3A%0A)\nInterpretation limit. A public candidate for journey diagnosis; the distributed workbook remains edition 1.0 and the package is neither a certification nor an RGAA conformance audit.\n[Find this instrument in the catalogue](/en/library#instrument-professional-website-accessibility-foundation)\nShort answer\nAn accessible website is not identified by a score: it is verified through journeys, criteria and evidence.\nWeb accessibility removes barriers that prevent a person from perceiving content, understanding an interface, navigating or taking action. On a professional website, the useful starting point is neither a vague statement nor an automated score. It is a bounded, replayable check linked to evidence.\nThis edition publishes the Edikka foundation v1.0: 36 checks across 8 families, each with an acceptance criterion, method, expected evidence and mapping to WCAG 2.2 and RGAA 4.1.2 themes. It helps teams begin. It does not replace a conformance audit.\nA check that has not been tested is not a pass. It remains “not tested”. Missing evidence is never converted into success.\nScope\nThis foundation answers “where do we start?”, not “are we legally conformant?”\nWCAG 2.2 organises success criteria under four principles: perceivable, operable, understandable and robust. RGAA 4.1.2 provides a French operational method of criteria and tests. WCAG-EM frames whole-website evaluation and sampling. These layers do not serve the same purpose.\nThe foundation selects frequent barriers that can be checked on a page or critical journey. A WCAG claim or RGAA statement requires a defined scope, representative sample, all applicable criteria and human testing. Whether RGAA or the EAA applies also depends on the entity and the service.\n| Four qualification questions before discussing obligations |  |  | \n|---|---|---|\n| Question | Decision available here | Correct next step | \n|---|---|---|\n| Is the entity in the public scope or subject to a specific French obligation? | Qualify it; do not infer an obligation from the mere existence of a website. | [Read the RGAA, WCAG and EAA guide](/en/insights/web-development/rgaa-wcag-eaa-digital-accessibility) . | \n| Does the B2C service fall within EAA categories applying since 28 June 2025? | Qualify by service, business and exemptions. | Document scope with legal advice where necessary. | \n| Is the need an initial diagnosis or conformance evidence? | This foundation supports initial diagnosis. | For conformance evidence, prepare a full audit and representative sample. | \n| Is an automated score available? | The score informs a subset of automatable rules. | [Understand what Lighthouse does not prove](/en/insights/web-development/lighthouse-100-accessibility) . | \nLegal limit. This table orients the work; it is not legal advice. The French DGCCRF page lists products and services covered by the European directive and related exemptions.\nSelection method\nWhy 36 checks: the count comes from a published rule, not a marketing number.\nA check enters the foundation only if it satisfies all five conditions below. This avoids reducing accessibility to ten generic tips or presenting a short table as the whole of WCAG and RGAA. Families receive no quota: forms, keyboard and landmarks contain more checks when the rule produces more.\n- The check applies to most public pages or transactional journeys on a professional website.\n- The result can be observed on a bounded scope without claiming to sample the entire website.\n- The acceptance criterion and expected evidence can be stated without opaque judgement.\n- A failure creates an access, understanding, navigation or action barrier.\n- The check maps to a WCAG 2.2 Level A or AA success criterion and an RGAA 4.1.2 theme.\nCriteria that depend on a medium, sector, legal scope, full sample or specialist judgement belong in the dedicated audit. “Not applicable” must be justified, never used to inflate a score.\nDual taxonomy\nEight families to act, with normative mapping to verify.\nThe operational family helps a team assign the correction. WCAG/RGAA mapping leads back to primary references. Both taxonomies are retained: one organises action, the other prevents Edikka from inventing its own standard.\n4 checks\nOrientation and structure\nWCAG: Operable / Understandable\nRGAA: 8 · Éléments obligatoires; 9 · Structuration; 12 · Navigation\n4 checks\nContent and alternatives\nWCAG: Perceivable / Understandable\nRGAA: 1 · Images; 3 · Couleurs; 6 · Liens; 13 · Consultation\n4 checks\nVisual perception\nWCAG: Perceivable\nRGAA: 3 · Couleurs; 10 · Présentation\n5 checks\nKeyboard and focus\nWCAG: Operable\nRGAA: 7 · Scripts; 10 · Présentation; 12 · Navigation\n4 checks\nComponents and states\nWCAG: Operable / Robust\nRGAA: 7 · Scripts; 12 · Navigation\n6 checks\nForms and errors\nWCAG: Understandable / Robust\nRGAA: 11 · Formulaires\n4 checks\nMedia, motion and time\nWCAG: Perceivable / Operable\nRGAA: 4 · Multimédia; 13 · Consultation\n5 checks\nAdaptation and robustness\nWCAG: Operable / Understandable / Robust\nRGAA: 7 · Scripts; 10 · Présentation; 12 · Navigation; 13 · Consultation\nOpen grid · v1.0\nThe 36 foundation checks, each with visible acceptance criteria and evidence.\nThe visible table publishes the acceptance criterion and expected evidence. The XLSX adds detailed method, owner, status, date, limitation and evidence link. The JSON is the machine source shared by the French and English editions.\nNormative reading. RGAA 4.1.2 aligns with WCAG 2.1. Checks A11Y33 to A11Y36 cover four A/AA criteria added in WCAG 2.2; their RGAA mapping identifies the relevant operational theme and states that version 4.1.2 has no direct equivalent.\n| The 36 checks in the Edikka v1.0 foundation. RGAA mapping identifies a relevant theme, not a conformance result. |  |  |  |  |  |  | \n|---|---|---|---|---|---|---|\n| ID | Family | Barrier checked | Acceptance criterion | Expected evidence | WCAG 2.2 / RGAA 4.1.2 | Severity | \n|---|---|---|---|---|---|---|\n| A11Y01 | Orientation and structure | Identifiable page title The user cannot tell which page is open. | The browser title describes the page and distinguishes it from other pages. | Browser-tab screenshot and head extract. | 2.4.2 (A) 8 · Éléments obligatoires | High | \n| A11Y02 | Orientation and structure | Declared primary language Speech output pronounces content incorrectly. | The html lang attribute matches the actual primary language. | DOM extract and test log. | 3.1.1 (A) 8 · Éléments obligatoires | High | \n| A11Y03 | Orientation and structure | Coherent heading hierarchy Sections become difficult to scan or understand. | One H1 describes the topic; H2/H3 reflect content nesting and are not decorative. | Exported heading outline. | 1.3.1 (A); 2.4.6 (AA) 9 · Structuration | High | \n| A11Y04 | Orientation and structure | Landmarks and direct access to content Repeated navigation must be traversed on every page. | Main content is inside main; a working bypass link reaches a visible or focusable target. | Keyboard video and accessibility tree. | 1.3.1 (A); 2.4.1 (A) 9 · Structuration; 12 · Navigation | High | \n| A11Y05 | Content and alternatives | Alternatives for informative images Information conveyed by an image disappears. | Each informative image has an equivalent alternative; decorative images can be ignored. | Screenshot without images and DOM extract. | 1.1.1 (A) 1 · Images | High | \n| A11Y06 | Content and alternatives | Names for functional images and icons A graphical action is silent or ambiguous. | The accessible name describes the action or destination, not the icon appearance. | Accessibility tree or DOM report. | 1.1.1 (A); 4.1.2 (A) 1 · Images; 7 · Scripts | Blocking | \n| A11Y07 | Content and alternatives | Links understandable in context The destination of a link must be guessed. | The label and programmatic context identify the destination or function. | Link list and context screenshots. | 2.4.4 (A) 6 · Liens | High | \n| A11Y08 | Content and alternatives | Instructions independent of shape and colour Instructions become unusable without full visual perception. | No essential instruction relies only on colour, position, shape or sound. | Annotated screenshot and review log. | 1.3.3 (A); 1.4.1 (A) 3 · Couleurs; 13 · Consultation | High | \n| A11Y09 | Visual perception | Text contrast Text becomes unreadable for many users. | Contrast reaches 4.5:1 for normal text and 3:1 for large text, subject to WCAG exceptions. | Contrast report with values and screenshots. | 1.4.3 (AA) 3 · Couleurs | High | \n| A11Y10 | Visual perception | Contrast of components and meaningful states A field, focus indicator or state cannot be perceived. | Necessary visual boundaries and states reach 3:1 against adjacent colours, subject to WCAG exceptions. | Component contrast report. | 1.4.11 (AA) 3 · Couleurs; 10 · Présentation | High | \n| A11Y11 | Visual perception | Text zoom and custom spacing Content overlaps or disappears when reading settings are adapted. | At 200% zoom and WCAG text spacing, text and functions remain available without loss. | Before/after screenshots and test log. | 1.4.4 (AA); 1.4.12 (AA) 10 · Présentation | High | \n| A11Y12 | Visual perception | Reflow at 320 CSS pixels Two-dimensional reading or horizontal scrolling is imposed. | Content and actions remain usable at 320 CSS px without loss or global horizontal scrolling, subject to exceptions. | Full-page screenshot and scrollWidth/clientWidth measurement. | 1.4.10 (AA) 10 · Présentation | Blocking | \n| A11Y13 | Keyboard and focus | All functions available by keyboard A person without a mouse cannot complete the journey. | Every essential action can be completed by keyboard without pointer-dependent gestures. | Uncut keyboard-journey video. | 2.1.1 (A) 7 · Scripts; 12 · Navigation | Blocking | \n| A11Y14 | Keyboard and focus | No keyboard trap Focus enters a component and cannot leave it. | Focus can leave every component through a standard or documented method. | Video and key sequence. | 2.1.2 (A) 7 · Scripts; 12 · Navigation | Blocking | \n| A11Y15 | Keyboard and focus | Visible and unobscured focus The user loses their position or focus is covered. | Every focused control is perceptible and not entirely hidden by fixed content. | Video or screenshots for each component family. | 2.4.7 (AA); 2.4.11 (AA) 10 · Présentation; 12 · Navigation | High | \n| A11Y16 | Keyboard and focus | Logical focus order Reading and actions follow an incoherent order. | Sequential focus preserves meaning and operation; no positive tabindex forces it artificially. | Numbered focus log and DOM extract. | 2.4.3 (A) 12 · Navigation | High | \n| A11Y17 | Components and states | Accessible name aligned with visible label Voice control cannot find the displayed control. | The accessible name contains the visible action text in a useful matching order. | Screenshot and accessibility tree. | 2.5.3 (A) 7 · Scripts | High | \n| A11Y18 | Components and states | Programmatic name, role, value and state The component is announced without a function or state. | Each component exposes a name, role and, where needed, an updated value or state. | Two accessibility-tree captures. | 4.1.2 (A) 7 · Scripts | Blocking | \n| A11Y19 | Components and states | Focus management for dialogs and panels Context changes without orientation or background content remains active. | On open, focus enters the component; it stays when required; on close, it returns to a logical point. | Keyboard video and accessibility tree. | 2.4.3 (A); 2.1.2 (A); 4.1.2 (A) 7 · Scripts; 12 · Navigation | Blocking | \n| A11Y20 | Components and states | Announced status messages Success, error or update feedback remains invisible to speech output. | Important messages are exposed without unnecessarily moving focus. | Screen-reader log and DOM extract. | 4.1.3 (AA) 7 · Scripts; 11 · Formulaires | High | \n| A11Y21 | Forms and errors | Explicit label for every field The expected data must be guessed. | Each field has a persistent, correctly associated and sufficiently precise label. | Screenshot and DOM extract. | 1.3.1 (A); 3.3.2 (A) 11 · Formulaires | Blocking | \n| A11Y22 | Forms and errors | Identifiable purpose for personal-data fields Input assistance and autocomplete cannot work correctly. | Common personal-data fields use a valid autocomplete token when their purpose is known. | DOM report of input attributes. | 1.3.5 (AA) 11 · Formulaires | Medium | \n| A11Y23 | Forms and errors | Errors identified and linked to fields The user knows submission failed but not where or why. | The error is named, located, linked to the field and announced; correct data is retained. | Video, screenshot and accessibility tree. | 3.3.1 (A); 3.3.3 (AA) 11 · Formulaires | Blocking | \n| A11Y24 | Forms and errors | Prevention and confirmation for sensitive actions A legal, financial or irreversible action is confirmed by mistake. | The user can review, correct or confirm before finalisation and receives usable confirmation. | Journey video and confirmation screenshot. | 3.3.4 (AA) 11 · Formulaires | Blocking | \n| A11Y25 | Media, motion and time | Captions for prerecorded video Audio content is inaccessible to deaf or hard-of-hearing users. | Speech and meaningful sounds are available in synchronised, reviewed captions. | Video excerpt and caption file. | 1.2.2 (A) 4 · Multimédia | High | \n| A11Y26 | Media, motion and time | Alternative for essential visual or audio content A demonstration, chart or meaningful sound has no equivalent. | A transcript, audio description or text alternative conveys the necessary information for the medium. | Transcript or alternative track linked to the media. | 1.2.3 (A); 1.2.5 (AA) 4 · Multimédia | High | \n| A11Y27 | Media, motion and time | Control of autoplay, motion and timing Content disrupts reading or expires before the action is complete. | Automatic audio can be stopped; long animations can be paused; time limits can be controlled, subject to exceptions. | Video and timed test log. | 1.4.2 (A); 2.2.1 (A); 2.2.2 (A) 4 · Multimédia; 13 · Consultation | Blocking | \n| A11Y28 | Media, motion and time | Safe flashing and controllable motion Flashing or automatically moving content causes discomfort, loss of focus or neurological risk. | No content flashes more than three times per second and any automatic animation lasting more than five seconds can be paused, stopped or hidden. | Scenario video and flashing measurement report where applicable. | 2.2.2 (A); 2.3.1 (A) 13 · Consultation | High | \n| A11Y29 | Adaptation and robustness | Orientation not restricted The service becomes unusable on a device fixed in one orientation. | Content works in portrait and landscape unless orientation is essential. | Two screenshots and test log. | 1.3.4 (AA) 13 · Consultation | High | \n| A11Y30 | Adaptation and robustness | Sufficiently large touch targets An action is difficult to trigger accurately on mobile. | Targets reach 24 × 24 CSS px or meet an exception in WCAG 2.5.8. | Annotated screenshot with CSS dimensions. | 2.5.8 (AA) 10 · Présentation; 13 · Consultation | Medium | \n| A11Y31 | Adaptation and robustness | Consistent navigation and components The same element changes name, position or behaviour without reason. | Repeated navigation keeps a consistent order and identical components are identified consistently. | Comparison table and screenshots. | 3.2.3 (AA); 3.2.4 (AA) 12 · Navigation | Medium | \n| A11Y32 | Adaptation and robustness | Coherent programmatic reading order Visual reordering disconnects reading, meaning and action. | At each viewport, DOM order and assistive-technology output preserve the meaning of content and instructions. | Annotated capture, DOM extract and reading log. | 1.3.2 (A) 9 · Structuration; 10 · Présentation | High | \n| A11Y33 | Keyboard and focus | Alternative to dragging movements An action requires precise drag-and-drop that a person cannot perform. | Any function based on dragging can also be completed with a single-pointer action, unless dragging is essential. | Video comparing the dragging gesture with its single-action alternative. | 2.5.7 (AA) 7 · Scripts — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2 | High | \n| A11Y34 | Adaptation and robustness | Consistent help across pages The way to obtain help changes position or order and becomes difficult to find. | When a help mechanism repeats across pages, it keeps the same relative order unless the user initiated the change. | Comparison table of help-mechanism order and dated screenshots. | 3.2.6 (A) 12 · Navigation — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2 | Medium | \n| A11Y35 | Forms and errors | Redundant entry avoided Information already supplied must be entered again in the same process. | Previously supplied information is auto-populated or available for selection, except for security, necessity or invalid-data exceptions. | Full-journey video and inventory of repeated fields with documented exceptions. | 3.3.7 (A) 11 · Formulaires — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2 | High | \n| A11Y36 | Forms and errors | Accessible authentication Signing in requires a cognitive test, memorisation or transcription without an alternative. | Authentication does not require a cognitive-function test, or provides an alternative, assistance mechanism, or object/personal-content recognition covered by WCAG exceptions. | Authentication-journey video, inventory of cognitive requirements and documented exceptions. | 3.3.8 (AA) 11 · Formulaires — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2 | Blocking | \nExecution\nAn actionable check connects six fields: scope, scenario, result, evidence, status and owner.\n“Check the keyboard” is not evidence. A scenario must name the page, viewport, initial state, keys used and action to complete. The expected result must be observable. The evidence must allow a third party to replay or challenge the conclusion.\n“The menu is keyboard accessible.” No journey, evidence or environment.\nStatus: pass\nEvidence: none\nConclusion: cannot be replayed\nA11Y13 · Mobile menu · Chrome 140 · 390 × 844 · keyboard only.\n1. Tab to the Menu button\n2. Press Enter to open\n3. Tab through every link\n4. Press Escape to close\n5. Check focus returns\nEvidence: video + dated log\nStatus: Pass / Fail / Not tested / Not applicable\nSeverity describes the impact of a defect. Status describes the test result. Release blocking is a governance decision. The three are not merged.\nPrioritisation\nFix first what prevents people from perceiving, navigating or completing the action.\n| Edikka foundation severity vocabulary |  |  |  | \n|---|---|---|---|\n| Severity | Definition | Example | Expected decision | \n|---|---|---|---|\n| Blocking | The critical journey cannot be completed or essential information disappears. | Keyboard-inoperable form; field without label; unlocated error. | Fix before release or document a no-go decision. | \n| High | The journey remains possible but creates major difficulty or uncertainty. | Poorly visible focus; insufficient contrast; repeated ambiguous link. | Fix in the priority batch and retest. | \n| Medium | The friction is real but does not alone block the main objective. | Small touch target; inconsistent name for a secondary component. | Plan, assign and verify non-regression. | \nAutomation and people\nTools detect symptoms; human journeys establish impact.\nA validator can find a missing attribute, measurable contrast or an empty accessible name. It cannot always decide whether an alternative conveys the right meaning, whether an error message actually helps or whether focus returns to the right context. The method therefore requires a bounded human replay with assistive technology, without turning it into a standalone WCAG criterion.\nThe minimum combination is HTML and DOM validation, automated audit, keyboard testing, reflow, contrast, accessibility tree and a screen-reader journey. Environment, date and limitations must accompany the result.\nProject cycle\nAccessibility is decided before mockups and replayed after launch.\nScope\nQualify service, users and critical journeys.\nLegal scope and test scope are separate decisions.\nDesign\nDefine states, errors, content and interactions before pixels.\nA mockup must show focus, errors, confirmations and responsive variants.\nComponents\nCode behaviours in the design system.\nA fix to a button, dialog or field should benefit every instance.\nContent\nName headings, links, alternatives and instructions.\nSemantics are not a technical wrapper: they carry published meaning.\nAcceptance\nReplay the 36 applicable checks.\nEach defect receives evidence, severity, owner and retest.\nProduction\nMonitor journeys and regressions.\nA page accessible today can break with the next component, content update or third-party script.\nCluster architecture\nOne question, one reference page: the foundation routes without repeating everything.\nOpen assets\nDownload, replay, challenge and improve the method.\nThe assets are free, require no form and use a CC BY 4.0 licence. You may adapt and redistribute them with attribution to Edikka and the canonical URL. The XLSX supports teamwork; JSON is the machine source; Markdown exposes a stable text edition.\nPrimary sources\nThe Edikka method links back to the standards it does not replace.\nVersion and integrity\nA citable, dated method that can be verified down to each file.\nVersion 1.0 · published and reviewed 25 August 2026 · next review 25 November 2026. Changelog: first public bilingual release of the 36-check foundation.\nRecommended citation: Edikka, “Professional website accessibility foundation · v1.0”, 25 August 2026, with a link to the canonical URL. No DOI is claimed until a persistent third-party repository assigns one.\nThese fingerprints verify that downloaded JSON and XLSX files match the assets cited by this edition.\nJSON  8fdfeddda1f94f427e54274a90003a7e824f15a5304ceeba2a9509453c5e31cd\nXLSX  f869d70bef0b716070d7af9b6f8f1354e5d969574ea3bb890226dd7df29aeb90\nVoluntary limit\nEdikka is a web agency: this grid is a published working method, not an independent standard.\nWe use this grid to scope, design and accept websites. We therefore have a commercial interest in demonstrating the quality of the method. To make that conflict visible, we publish the selection rule, limits, sources, checks and reusable formats.\nThe foundation does not cover every applicable criterion, calculate an RGAA rate, certify any website or guarantee legal compliance, absence of barriers, SEO ranking or AI citation. Clear structure makes a page more reliable to read; visibility depends on other signals.\nConclusion\nStart with a real journey, an observable barrier and replayable evidence.\nAccessibility does not progress when a team adds a score to a dashboard. It progresses when a person can complete an action that was previously impossible, the fix is carried by the right component and a third party can replay the test.\nChoose a critical journey, run the 36 applicable checks, retain evidence, fix blockers and retest. Then expand the scope with a full audit method when the objective becomes conformance.\nDo not publish “accessible” because a tool is green. Publish what was tested, how, when, with what evidence and what limitations.\nAccessibility becomes credible when design, content and code share the same evidence.\nA check is not a box. It is an observable commitment: a person can complete the action, the fix holds in the component and the result can be replayed.\nStart from the real journey\nPriority comes from what a user must perceive, understand and complete—not from what is easiest to measure.\nFix at the source\nAn accessible, documented and tested component prevents the same defect from being repaired page by page.\nName what remains unknown\nNot tested, not applicable and fail are useful information. Hiding them destroys trust.\nPremium quality does not make accessibility invisible. It embeds its requirements in every design decision.\nGo further on this topic\nAdditional answers to clarify the key points covered in this article.",
      "status": "ok"
    },
    "additional_extractors": {
      "source": "article-accessibility-en.html",
      "readability_lxml": {
        "tool": "readability-lxml",
        "version": "0.8.4.1",
        "title": "36 essential checks and XLSX grid",
        "html": "<div><tbody><tr class=\"article-control-row\" id=\"control-a11y01\"><td data-label=\"ID\"><strong>A11Y01</strong></td><td data-label=\"Family\">Orientation and structure</td><td data-label=\"Check\"><strong>Identifiable page title</strong><br><span>The user cannot tell which page is open.</span></td><td data-label=\"Acceptance\">The browser title describes the page and distinguishes it from other pages.</td><td data-label=\"Expected evidence\">Browser-tab screenshot and head extract.</td><td data-label=\"WCAG / RGAA\"><span>2.4.2 (A)</span><br><small>8 · Éléments obligatoires</small></td><td data-label=\"Severity\">High</td></tr><tr class=\"article-control-row\" id=\"control-a11y02\"><td data-label=\"ID\"><strong>A11Y02</strong></td><td data-label=\"Family\">Orientation and structure</td><td data-label=\"Check\"><strong>Declared primary language</strong><br><span>Speech output pronounces content incorrectly.</span></td><td data-label=\"Acceptance\">The html lang attribute matches the actual primary language.</td><td data-label=\"Expected evidence\">DOM extract and test log.</td><td data-label=\"WCAG / RGAA\"><span>3.1.1 (A)</span><br><small>8 · Éléments obligatoires</small></td><td data-label=\"Severity\">High</td></tr><tr class=\"article-control-row\" id=\"control-a11y03\"><td data-label=\"ID\"><strong>A11Y03</strong></td><td data-label=\"Family\">Orientation and structure</td><td data-label=\"Check\"><strong>Coherent heading hierarchy</strong><br><span>Sections become difficult to scan or understand.</span></td><td data-label=\"Acceptance\">One H1 describes the topic; H2/H3 reflect content nesting and are not decorative.</td><td data-label=\"Expected evidence\">Exported heading outline.</td><td data-label=\"WCAG / RGAA\"><span>1.3.1 (A); 2.4.6 (AA)</span><br><small>9 · Structuration</small></td><td data-label=\"Severity\">High</td></tr><tr class=\"article-control-row\" id=\"control-a11y04\"><td data-label=\"ID\"><strong>A11Y04</strong></td><td data-label=\"Family\">Orientation and structure</td><td data-label=\"Check\"><strong>Landmarks and direct access to content</strong><br><span>Repeated navigation must be traversed on every page.</span></td><td data-label=\"Acceptance\">Main content is inside main; a working bypass link reaches a visible or focusable target.</td><td data-label=\"Expected evidence\">Keyboard video and accessibility tree.</td><td data-label=\"WCAG / RGAA\"><span>1.3.1 (A); 2.4.1 (A)</span><br><small>9 · Structuration; 12 · Navigation</small></td><td data-label=\"Severity\">High</td></tr><tr class=\"article-control-row\" id=\"control-a11y05\"><td data-label=\"ID\"><strong>A11Y05</strong></td><td data-label=\"Family\">Content and alternatives</td><td data-label=\"Check\"><strong>Alternatives for informative images</strong><br><span>Information conveyed by an image disappears.</span></td><td data-label=\"Acceptance\">Each informative image has an equivalent alternative; decorative images can be ignored.</td><td data-label=\"Expected evidence\">Screenshot without images and DOM extract.</td><td data-label=\"WCAG / RGAA\"><span>1.1.1 (A)</span><br><small>1 · Images</small></td><td data-label=\"Severity\">High</td></tr><tr class=\"article-control-row\" id=\"control-a11y06\"><td data-label=\"ID\"><strong>A11Y06</strong></td><td data-label=\"Family\">Content and alternatives</td><td data-label=\"Check\"><strong>Names for functional images and icons</strong><br><span>A graphical action is silent or ambiguous.</span></td><td data-label=\"Acceptance\">The accessible name describes the action or destination, not the icon appearance.</td><td data-label=\"Expected evidence\">Accessibility tree or DOM report.</td><td data-label=\"WCAG / RGAA\"><span>1.1.1 (A); 4.1.2 (A)</span><br><small>1 · Images; 7 · Scripts</small></td><td data-label=\"Severity\">Blocking</td></tr><tr class=\"article-control-row\" id=\"control-a11y07\"><td data-label=\"ID\"><strong>A11Y07</strong></td><td data-label=\"Family\">Content and alternatives</td><td data-label=\"Check\"><strong>Links understandable in context</strong><br><span>The destination of a link must be guessed.</span></td><td data-label=\"Acceptance\">The label and programmatic context identify the destination or function.</td><td data-label=\"Expected evidence\">Link list and context screenshots.</td><td data-label=\"WCAG / RGAA\"><span>2.4.4 (A)</span><br><small>6 · Liens</small></td><td data-label=\"Severity\">High</td></tr><tr class=\"article-control-row\" id=\"control-a11y08\"><td data-label=\"ID\"><strong>A11Y08</strong></td><td data-label=\"Family\">Content and alternatives</td><td data-label=\"Check\"><strong>Instructions independent of shape and colour</strong><br><span>Instructions become unusable without full visual perception.</span></td><td data-label=\"Acceptance\">No essential instruction relies only on colour, position, shape or sound.</td><td data-label=\"Expected evidence\">Annotated screenshot and review log.</td><td data-label=\"WCAG / RGAA\"><span>1.3.3 (A); 1.4.1 (A)</span><br><small>3 · Couleurs; 13 · Consultation</small></td><td data-label=\"Severity\">High</td></tr><tr class=\"article-control-row\" id=\"control-a11y09\"><td data-label=\"ID\"><strong>A11Y09</strong></td><td data-label=\"Family\">Visual perception</td><td data-label=\"Check\"><strong>Text contrast</strong><br><span>Text becomes unreadable for many users.</span></td><td data-label=\"Acceptance\">Contrast reaches 4.5:1 for normal text and 3:1 for large text, subject to WCAG exceptions.</td><td data-label=\"Expected evidence\">Contrast report with values and screenshots.</td><td data-label=\"WCAG / RGAA\"><span>1.4.3 (AA)</span><br><small>3 · Couleurs</small></td><td data-label=\"Severity\">High</td></tr><tr class=\"article-control-row\" id=\"control-a11y10\"><td data-label=\"ID\"><strong>A11Y10</strong></td><td data-label=\"Family\">Visual perception</td><td data-label=\"Check\"><strong>Contrast of components and meaningful states</strong><br><span>A field, focus indicator or state cannot be perceived.</span></td><td data-label=\"Acceptance\">Necessary visual boundaries and states reach 3:1 against adjacent colours, subject to WCAG exceptions.</td><td data-label=\"Expected evidence\">Component contrast report.</td><td data-label=\"WCAG / RGAA\"><span>1.4.11 (AA)</span><br><small>3 · Couleurs; 10 · Présentation</small></td><td data-label=\"Severity\">High</td></tr><tr class=\"article-control-row\" id=\"control-a11y11\"><td data-label=\"ID\"><strong>A11Y11</strong></td><td data-label=\"Family\">Visual perception</td><td data-label=\"Check\"><strong>Text zoom and custom spacing</strong><br><span>Content overlaps or disappears when reading settings are adapted.</span></td><td data-label=\"Acceptance\">At 200% zoom and WCAG text spacing, text and functions remain available without loss.</td><td data-label=\"Expected evidence\">Before/after screenshots and test log.</td><td data-label=\"WCAG / RGAA\"><span>1.4.4 (AA); 1.4.12 (AA)</span><br><small>10 · Présentation</small></td><td data-label=\"Severity\">High</td></tr><tr class=\"article-control-row\" id=\"control-a11y12\"><td data-label=\"ID\"><strong>A11Y12</strong></td><td data-label=\"Family\">Visual perception</td><td data-label=\"Check\"><strong>Reflow at 320 CSS pixels</strong><br><span>Two-dimensional reading or horizontal scrolling is imposed.</span></td><td data-label=\"Acceptance\">Content and actions remain usable at 320 CSS px without loss or global horizontal scrolling, subject to exceptions.</td><td data-label=\"Expected evidence\">Full-page screenshot and scrollWidth/clientWidth measurement.</td><td data-label=\"WCAG / RGAA\"><span>1.4.10 (AA)</span><br><small>10 · Présentation</small></td><td data-label=\"Severity\">Blocking</td></tr><tr class=\"article-control-row\" id=\"control-a11y13\"><td data-label=\"ID\"><strong>A11Y13</strong></td><td data-label=\"Family\">Keyboard and focus</td><td data-label=\"Check\"><strong>All functions available by keyboard</strong><br><span>A person without a mouse cannot complete the journey.</span></td><td data-label=\"Acceptance\">Every essential action can be completed by keyboard without pointer-dependent gestures.</td><td data-label=\"Expected evidence\">Uncut keyboard-journey video.</td><td data-label=\"WCAG / RGAA\"><span>2.1.1 (A)</span><br><small>7 · Scripts; 12 · Navigation</small></td><td data-label=\"Severity\">Blocking</td></tr><tr class=\"article-control-row\" id=\"control-a11y14\"><td data-label=\"ID\"><strong>A11Y14</strong></td><td data-label=\"Family\">Keyboard and focus</td><td data-label=\"Check\"><strong>No keyboard trap</strong><br><span>Focus enters a component and cannot leave it.</span></td><td data-label=\"Acceptance\">Focus can leave every component through a standard or documented method.</td><td data-label=\"Expected evidence\">Video and key sequence.</td><td data-label=\"WCAG / RGAA\"><span>2.1.2 (A)</span><br><small>7 · Scripts; 12 · Navigation</small></td><td data-label=\"Severity\">Blocking</td></tr><tr class=\"article-control-row\" id=\"control-a11y15\"><td data-label=\"ID\"><strong>A11Y15</strong></td><td data-label=\"Family\">Keyboard and focus</td><td data-label=\"Check\"><strong>Visible and unobscured focus</strong><br><span>The user loses their position or focus is covered.</span></td><td data-label=\"Acceptance\">Every focused control is perceptible and not entirely hidden by fixed content.</td><td data-label=\"Expected evidence\">Video or screenshots for each component family.</td><td data-label=\"WCAG / RGAA\"><span>2.4.7 (AA); 2.4.11 (AA)</span><br><small>10 · Présentation; 12 · Navigation</small></td><td data-label=\"Severity\">High</td></tr><tr class=\"article-control-row\" id=\"control-a11y16\"><td data-label=\"ID\"><strong>A11Y16</strong></td><td data-label=\"Family\">Keyboard and focus</td><td data-label=\"Check\"><strong>Logical focus order</strong><br><span>Reading and actions follow an incoherent order.</span></td><td data-label=\"Acceptance\">Sequential focus preserves meaning and operation; no positive tabindex forces it artificially.</td><td data-label=\"Expected evidence\">Numbered focus log and DOM extract.</td><td data-label=\"WCAG / RGAA\"><span>2.4.3 (A)</span><br><small>12 · Navigation</small></td><td data-label=\"Severity\">High</td></tr><tr class=\"article-control-row\" id=\"control-a11y17\"><td data-label=\"ID\"><strong>A11Y17</strong></td><td data-label=\"Family\">Components and states</td><td data-label=\"Check\"><strong>Accessible name aligned with visible label</strong><br><span>Voice control cannot find the displayed control.</span></td><td data-label=\"Acceptance\">The accessible name contains the visible action text in a useful matching order.</td><td data-label=\"Expected evidence\">Screenshot and accessibility tree.</td><td data-label=\"WCAG / RGAA\"><span>2.5.3 (A)</span><br><small>7 · Scripts</small></td><td data-label=\"Severity\">High</td></tr><tr class=\"article-control-row\" id=\"control-a11y18\"><td data-label=\"ID\"><strong>A11Y18</strong></td><td data-label=\"Family\">Components and states</td><td data-label=\"Check\"><strong>Programmatic name, role, value and state</strong><br><span>The component is announced without a function or state.</span></td><td data-label=\"Acceptance\">Each component exposes a name, role and, where needed, an updated value or state.</td><td data-label=\"Expected evidence\">Two accessibility-tree captures.</td><td data-label=\"WCAG / RGAA\"><span>4.1.2 (A)</span><br><small>7 · Scripts</small></td><td data-label=\"Severity\">Blocking</td></tr><tr class=\"article-control-row\" id=\"control-a11y19\"><td data-label=\"ID\"><strong>A11Y19</strong></td><td data-label=\"Family\">Components and states</td><td data-label=\"Check\"><strong>Focus management for dialogs and panels</strong><br><span>Context changes without orientation or background content remains active.</span></td><td data-label=\"Acceptance\">On open, focus enters the component; it stays when required; on close, it returns to a logical point.</td><td data-label=\"Expected evidence\">Keyboard video and accessibility tree.</td><td data-label=\"WCAG / RGAA\"><span>2.4.3 (A); 2.1.2 (A); 4.1.2 (A)</span><br><small>7 · Scripts; 12 · Navigation</small></td><td data-label=\"Severity\">Blocking</td></tr><tr class=\"article-control-row\" id=\"control-a11y20\"><td data-label=\"ID\"><strong>A11Y20</strong></td><td data-label=\"Family\">Components and states</td><td data-label=\"Check\"><strong>Announced status messages</strong><br><span>Success, error or update feedback remains invisible to speech output.</span></td><td data-label=\"Acceptance\">Important messages are exposed without unnecessarily moving focus.</td><td data-label=\"Expected evidence\">Screen-reader log and DOM extract.</td><td data-label=\"WCAG / RGAA\"><span>4.1.3 (AA)</span><br><small>7 · Scripts; 11 · Formulaires</small></td><td data-label=\"Severity\">High</td></tr><tr class=\"article-control-row\" id=\"control-a11y21\"><td data-label=\"ID\"><strong>A11Y21</strong></td><td data-label=\"Family\">Forms and errors</td><td data-label=\"Check\"><strong>Explicit label for every field</strong><br><span>The expected data must be guessed.</span></td><td data-label=\"Acceptance\">Each field has a persistent, correctly associated and sufficiently precise label.</td><td data-label=\"Expected evidence\">Screenshot and DOM extract.</td><td data-label=\"WCAG / RGAA\"><span>1.3.1 (A); 3.3.2 (A)</span><br><small>11 · Formulaires</small></td><td data-label=\"Severity\">Blocking</td></tr><tr class=\"article-control-row\" id=\"control-a11y22\"><td data-label=\"ID\"><strong>A11Y22</strong></td><td data-label=\"Family\">Forms and errors</td><td data-label=\"Check\"><strong>Identifiable purpose for personal-data fields</strong><br><span>Input assistance and autocomplete cannot work correctly.</span></td><td data-label=\"Acceptance\">Common personal-data fields use a valid autocomplete token when their purpose is known.</td><td data-label=\"Expected evidence\">DOM report of input attributes.</td><td data-label=\"WCAG / RGAA\"><span>1.3.5 (AA)</span><br><small>11 · Formulaires</small></td><td data-label=\"Severity\">Medium</td></tr><tr class=\"article-control-row\" id=\"control-a11y23\"><td data-label=\"ID\"><strong>A11Y23</strong></td><td data-label=\"Family\">Forms and errors</td><td data-label=\"Check\"><strong>Errors identified and linked to fields</strong><br><span>The user knows submission failed but not where or why.</span></td><td data-label=\"Acceptance\">The error is named, located, linked to the field and announced; correct data is retained.</td><td data-label=\"Expected evidence\">Video, screenshot and accessibility tree.</td><td data-label=\"WCAG / RGAA\"><span>3.3.1 (A); 3.3.3 (AA)</span><br><small>11 · Formulaires</small></td><td data-label=\"Severity\">Blocking</td></tr><tr class=\"article-control-row\" id=\"control-a11y24\"><td data-label=\"ID\"><strong>A11Y24</strong></td><td data-label=\"Family\">Forms and errors</td><td data-label=\"Check\"><strong>Prevention and confirmation for sensitive actions</strong><br><span>A legal, financial or irreversible action is confirmed by mistake.</span></td><td data-label=\"Acceptance\">The user can review, correct or confirm before finalisation and receives usable confirmation.</td><td data-label=\"Expected evidence\">Journey video and confirmation screenshot.</td><td data-label=\"WCAG / RGAA\"><span>3.3.4 (AA)</span><br><small>11 · Formulaires</small></td><td data-label=\"Severity\">Blocking</td></tr><tr class=\"article-control-row\" id=\"control-a11y25\"><td data-label=\"ID\"><strong>A11Y25</strong></td><td data-label=\"Family\">Media, motion and time</td><td data-label=\"Check\"><strong>Captions for prerecorded video</strong><br><span>Audio content is inaccessible to deaf or hard-of-hearing users.</span></td><td data-label=\"Acceptance\">Speech and meaningful sounds are available in synchronised, reviewed captions.</td><td data-label=\"Expected evidence\">Video excerpt and caption file.</td><td data-label=\"WCAG / RGAA\"><span>1.2.2 (A)</span><br><small>4 · Multimédia</small></td><td data-label=\"Severity\">High</td></tr><tr class=\"article-control-row\" id=\"control-a11y26\"><td data-label=\"ID\"><strong>A11Y26</strong></td><td data-label=\"Family\">Media, motion and time</td><td data-label=\"Check\"><strong>Alternative for essential visual or audio content</strong><br><span>A demonstration, chart or meaningful sound has no equivalent.</span></td><td data-label=\"Acceptance\">A transcript, audio description or text alternative conveys the necessary information for the medium.</td><td data-label=\"Expected evidence\">Transcript or alternative track linked to the media.</td><td data-label=\"WCAG / RGAA\"><span>1.2.3 (A); 1.2.5 (AA)</span><br><small>4 · Multimédia</small></td><td data-label=\"Severity\">High</td></tr><tr class=\"article-control-row\" id=\"control-a11y27\"><td data-label=\"ID\"><strong>A11Y27</strong></td><td data-label=\"Family\">Media, motion and time</td><td data-label=\"Check\"><strong>Control of autoplay, motion and timing</strong><br><span>Content disrupts reading or expires before the action is complete.</span></td><td data-label=\"Acceptance\">Automatic audio can be stopped; long animations can be paused; time limits can be controlled, subject to exceptions.</td><td data-label=\"Expected evidence\">Video and timed test log.</td><td data-label=\"WCAG / RGAA\"><span>1.4.2 (A); 2.2.1 (A); 2.2.2 (A)</span><br><small>4 · Multimédia; 13 · Consultation</small></td><td data-label=\"Severity\">Blocking</td></tr><tr class=\"article-control-row\" id=\"control-a11y28\"><td data-label=\"ID\"><strong>A11Y28</strong></td><td data-label=\"Family\">Media, motion and time</td><td data-label=\"Check\"><strong>Safe flashing and controllable motion</strong><br><span>Flashing or automatically moving content causes discomfort, loss of focus or neurological risk.</span></td><td data-label=\"Acceptance\">No content flashes more than three times per second and any automatic animation lasting more than five seconds can be paused, stopped or hidden.</td><td data-label=\"Expected evidence\">Scenario video and flashing measurement report where applicable.</td><td data-label=\"WCAG / RGAA\"><span>2.2.2 (A); 2.3.1 (A)</span><br><small>13 · Consultation</small></td><td data-label=\"Severity\">High</td></tr><tr class=\"article-control-row\" id=\"control-a11y29\"><td data-label=\"ID\"><strong>A11Y29</strong></td><td data-label=\"Family\">Adaptation and robustness</td><td data-label=\"Check\"><strong>Orientation not restricted</strong><br><span>The service becomes unusable on a device fixed in one orientation.</span></td><td data-label=\"Acceptance\">Content works in portrait and landscape unless orientation is essential.</td><td data-label=\"Expected evidence\">Two screenshots and test log.</td><td data-label=\"WCAG / RGAA\"><span>1.3.4 (AA)</span><br><small>13 · Consultation</small></td><td data-label=\"Severity\">High</td></tr><tr class=\"article-control-row\" id=\"control-a11y30\"><td data-label=\"ID\"><strong>A11Y30</strong></td><td data-label=\"Family\">Adaptation and robustness</td><td data-label=\"Check\"><strong>Sufficiently large touch targets</strong><br><span>An action is difficult to trigger accurately on mobile.</span></td><td data-label=\"Acceptance\">Targets reach 24 × 24 CSS px or meet an exception in WCAG 2.5.8.</td><td data-label=\"Expected evidence\">Annotated screenshot with CSS dimensions.</td><td data-label=\"WCAG / RGAA\"><span>2.5.8 (AA)</span><br><small>10 · Présentation; 13 · Consultation</small></td><td data-label=\"Severity\">Medium</td></tr><tr class=\"article-control-row\" id=\"control-a11y31\"><td data-label=\"ID\"><strong>A11Y31</strong></td><td data-label=\"Family\">Adaptation and robustness</td><td data-label=\"Check\"><strong>Consistent navigation and components</strong><br><span>The same element changes name, position or behaviour without reason.</span></td><td data-label=\"Acceptance\">Repeated navigation keeps a consistent order and identical components are identified consistently.</td><td data-label=\"Expected evidence\">Comparison table and screenshots.</td><td data-label=\"WCAG / RGAA\"><span>3.2.3 (AA); 3.2.4 (AA)</span><br><small>12 · Navigation</small></td><td data-label=\"Severity\">Medium</td></tr><tr class=\"article-control-row\" id=\"control-a11y32\"><td data-label=\"ID\"><strong>A11Y32</strong></td><td data-label=\"Family\">Adaptation and robustness</td><td data-label=\"Check\"><strong>Coherent programmatic reading order</strong><br><span>Visual reordering disconnects reading, meaning and action.</span></td><td data-label=\"Acceptance\">At each viewport, DOM order and assistive-technology output preserve the meaning of content and instructions.</td><td data-label=\"Expected evidence\">Annotated capture, DOM extract and reading log.</td><td data-label=\"WCAG / RGAA\"><span>1.3.2 (A)</span><br><small>9 · Structuration; 10 · Présentation</small></td><td data-label=\"Severity\">High</td></tr><tr class=\"article-control-row\" id=\"control-a11y33\"><td data-label=\"ID\"><strong>A11Y33</strong></td><td data-label=\"Family\">Keyboard and focus</td><td data-label=\"Check\"><strong>Alternative to dragging movements</strong><br><span>An action requires precise drag-and-drop that a person cannot perform.</span></td><td data-label=\"Acceptance\">Any function based on dragging can also be completed with a single-pointer action, unless dragging is essential.</td><td data-label=\"Expected evidence\">Video comparing the dragging gesture with its single-action alternative.</td><td data-label=\"WCAG / RGAA\"><span>2.5.7 (AA)</span><br><small>7 · Scripts — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2</small></td><td data-label=\"Severity\">High</td></tr><tr class=\"article-control-row\" id=\"control-a11y34\"><td data-label=\"ID\"><strong>A11Y34</strong></td><td data-label=\"Family\">Adaptation and robustness</td><td data-label=\"Check\"><strong>Consistent help across pages</strong><br><span>The way to obtain help changes position or order and becomes difficult to find.</span></td><td data-label=\"Acceptance\">When a help mechanism repeats across pages, it keeps the same relative order unless the user initiated the change.</td><td data-label=\"Expected evidence\">Comparison table of help-mechanism order and dated screenshots.</td><td data-label=\"WCAG / RGAA\"><span>3.2.6 (A)</span><br><small>12 · Navigation — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2</small></td><td data-label=\"Severity\">Medium</td></tr><tr class=\"article-control-row\" id=\"control-a11y35\"><td data-label=\"ID\"><strong>A11Y35</strong></td><td data-label=\"Family\">Forms and errors</td><td data-label=\"Check\"><strong>Redundant entry avoided</strong><br><span>Information already supplied must be entered again in the same process.</span></td><td data-label=\"Acceptance\">Previously supplied information is auto-populated or available for selection, except for security, necessity or invalid-data exceptions.</td><td data-label=\"Expected evidence\">Full-journey video and inventory of repeated fields with documented exceptions.</td><td data-label=\"WCAG / RGAA\"><span>3.3.7 (A)</span><br><small>11 · Formulaires — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2</small></td><td data-label=\"Severity\">High</td></tr><tr class=\"article-control-row\" id=\"control-a11y36\"><td data-label=\"ID\"><strong>A11Y36</strong></td><td data-label=\"Family\">Forms and errors</td><td data-label=\"Check\"><strong>Accessible authentication</strong><br><span>Signing in requires a cognitive test, memorisation or transcription without an alternative.</span></td><td data-label=\"Acceptance\">Authentication does not require a cognitive-function test, or provides an alternative, assistance mechanism, or object/personal-content recognition covered by WCAG exceptions.</td><td data-label=\"Expected evidence\">Authentication-journey video, inventory of cognitive requirements and documented exceptions.</td><td data-label=\"WCAG / RGAA\"><span>3.3.8 (AA)</span><br><small>11 · Formulaires — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2</small></td><td data-label=\"Severity\">Blocking</td></tr></tbody></div>",
        "status": "ok"
      },
      "newspaper4k": {
        "tool": "newspaper4k",
        "version": "0.9.3.1",
        "title": "Web accessibility: 36 essential checks and XLSX grid",
        "text": "A11Y01Orientation and structureIdentifiable page title\n\nThe user cannot tell which page is open.The browser title describes the page and distinguishes it from other pages.Browser-tab screenshot and head extract.2.4.2 (A)\n\n8 · Éléments obligatoiresHighA11Y02Orientation and structureDeclared primary language\n\nSpeech output pronounces content incorrectly.The html lang attribute matches the actual primary language.DOM extract and test log.3.1.1 (A)\n\n8 · Éléments obligatoiresHighA11Y03Orientation and structureCoherent heading hierarchy\n\nSections become difficult to scan or understand.One H1 describes the topic; H2/H3 reflect content nesting and are not decorative.Exported heading outline.1.3.1 (A); 2.4.6 (AA)\n\n9 · StructurationHighA11Y04Orientation and structureLandmarks and direct access to content\n\nRepeated navigation must be traversed on every page.Main content is inside main; a working bypass link reaches a visible or focusable target.Keyboard video and accessibility tree.1.3.1 (A); 2.4.1 (A)\n\n9 · Structuration; 12 · NavigationHighA11Y05Content and alternativesAlternatives for informative images\n\nInformation conveyed by an image disappears.Each informative image has an equivalent alternative; decorative images can be ignored.Screenshot without images and DOM extract.1.1.1 (A)\n\n1 · ImagesHighA11Y06Content and alternativesNames for functional images and icons\n\nA graphical action is silent or ambiguous.The accessible name describes the action or destination, not the icon appearance.Accessibility tree or DOM report.1.1.1 (A); 4.1.2 (A)\n\n1 · Images; 7 · ScriptsBlockingA11Y07Content and alternativesLinks understandable in context\n\nThe destination of a link must be guessed.The label and programmatic context identify the destination or function.Link list and context screenshots.2.4.4 (A)\n\n6 · LiensHighA11Y08Content and alternativesInstructions independent of shape and colour\n\nInstructions become unusable without full visual perception.No essential instruction relies only on colour, position, shape or sound.Annotated screenshot and review log.1.3.3 (A); 1.4.1 (A)\n\n3 · Couleurs; 13 · ConsultationHighA11Y09Visual perceptionText contrast\n\nText becomes unreadable for many users.Contrast reaches 4.5:1 for normal text and 3:1 for large text, subject to WCAG exceptions.Contrast report with values and screenshots.1.4.3 (AA)\n\n3 · CouleursHighA11Y10Visual perceptionContrast of components and meaningful states\n\nA field, focus indicator or state cannot be perceived.Necessary visual boundaries and states reach 3:1 against adjacent colours, subject to WCAG exceptions.Component contrast report.1.4.11 (AA)\n\n3 · Couleurs; 10 · PrésentationHighA11Y11Visual perceptionText zoom and custom spacing\n\nContent overlaps or disappears when reading settings are adapted.At 200% zoom and WCAG text spacing, text and functions remain available without loss.Before/after screenshots and test log.1.4.4 (AA); 1.4.12 (AA)\n\n10 · PrésentationHighA11Y12Visual perceptionReflow at 320 CSS pixels\n\nTwo-dimensional reading or horizontal scrolling is imposed.Content and actions remain usable at 320 CSS px without loss or global horizontal scrolling, subject to exceptions.Full-page screenshot and scrollWidth/clientWidth measurement.1.4.10 (AA)\n\n10 · PrésentationBlockingA11Y13Keyboard and focusAll functions available by keyboard\n\nA person without a mouse cannot complete the journey.Every essential action can be completed by keyboard without pointer-dependent gestures.Uncut keyboard-journey video.2.1.1 (A)\n\n7 · Scripts; 12 · NavigationBlockingA11Y14Keyboard and focusNo keyboard trap\n\nFocus enters a component and cannot leave it.Focus can leave every component through a standard or documented method.Video and key sequence.2.1.2 (A)\n\n7 · Scripts; 12 · NavigationBlockingA11Y15Keyboard and focusVisible and unobscured focus\n\nThe user loses their position or focus is covered.Every focused control is perceptible and not entirely hidden by fixed content.Video or screenshots for each component family.2.4.7 (AA); 2.4.11 (AA)\n\n10 · Présentation; 12 · NavigationHighA11Y16Keyboard and focusLogical focus order\n\nReading and actions follow an incoherent order.Sequential focus preserves meaning and operation; no positive tabindex forces it artificially.Numbered focus log and DOM extract.2.4.3 (A)\n\n12 · NavigationHighA11Y17Components and statesAccessible name aligned with visible label\n\nVoice control cannot find the displayed control.The accessible name contains the visible action text in a useful matching order.Screenshot and accessibility tree.2.5.3 (A)\n\n7 · ScriptsHighA11Y18Components and statesProgrammatic name, role, value and state\n\nThe component is announced without a function or state.Each component exposes a name, role and, where needed, an updated value or state.Two accessibility-tree captures.4.1.2 (A)\n\n7 · ScriptsBlockingA11Y19Components and statesFocus management for dialogs and panels\n\nContext changes without orientation or background content remains active.On open, focus enters the component; it stays when required; on close, it returns to a logical point.Keyboard video and accessibility tree.2.4.3 (A); 2.1.2 (A); 4.1.2 (A)\n\n7 · Scripts; 12 · NavigationBlockingA11Y20Components and statesAnnounced status messages\n\nSuccess, error or update feedback remains invisible to speech output.Important messages are exposed without unnecessarily moving focus.Screen-reader log and DOM extract.4.1.3 (AA)\n\n7 · Scripts; 11 · FormulairesHighA11Y21Forms and errorsExplicit label for every field\n\nThe expected data must be guessed.Each field has a persistent, correctly associated and sufficiently precise label.Screenshot and DOM extract.1.3.1 (A); 3.3.2 (A)\n\n11 · FormulairesBlockingA11Y22Forms and errorsIdentifiable purpose for personal-data fields\n\nInput assistance and autocomplete cannot work correctly.Common personal-data fields use a valid autocomplete token when their purpose is known.DOM report of input attributes.1.3.5 (AA)\n\n11 · FormulairesMediumA11Y23Forms and errorsErrors identified and linked to fields\n\nThe user knows submission failed but not where or why.The error is named, located, linked to the field and announced; correct data is retained.Video, screenshot and accessibility tree.3.3.1 (A); 3.3.3 (AA)\n\n11 · FormulairesBlockingA11Y24Forms and errorsPrevention and confirmation for sensitive actions\n\nA legal, financial or irreversible action is confirmed by mistake.The user can review, correct or confirm before finalisation and receives usable confirmation.Journey video and confirmation screenshot.3.3.4 (AA)\n\n11 · FormulairesBlockingA11Y25Media, motion and timeCaptions for prerecorded video\n\nAudio content is inaccessible to deaf or hard-of-hearing users.Speech and meaningful sounds are available in synchronised, reviewed captions.Video excerpt and caption file.1.2.2 (A)\n\n4 · MultimédiaHighA11Y26Media, motion and timeAlternative for essential visual or audio content\n\nA demonstration, chart or meaningful sound has no equivalent.A transcript, audio description or text alternative conveys the necessary information for the medium.Transcript or alternative track linked to the media.1.2.3 (A); 1.2.5 (AA)\n\n4 · MultimédiaHighA11Y27Media, motion and timeControl of autoplay, motion and timing\n\nContent disrupts reading or expires before the action is complete.Automatic audio can be stopped; long animations can be paused; time limits can be controlled, subject to exceptions.Video and timed test log.1.4.2 (A); 2.2.1 (A); 2.2.2 (A)\n\n4 · Multimédia; 13 · ConsultationBlockingA11Y28Media, motion and timeSafe flashing and controllable motion\n\nFlashing or automatically moving content causes discomfort, loss of focus or neurological risk.No content flashes more than three times per second and any automatic animation lasting more than five seconds can be paused, stopped or hidden.Scenario video and flashing measurement report where applicable.2.2.2 (A); 2.3.1 (A)\n\n13 · ConsultationHighA11Y29Adaptation and robustnessOrientation not restricted\n\nThe service becomes unusable on a device fixed in one orientation.Content works in portrait and landscape unless orientation is essential.Two screenshots and test log.1.3.4 (AA)\n\n13 · ConsultationHighA11Y30Adaptation and robustnessSufficiently large touch targets\n\nAn action is difficult to trigger accurately on mobile.Targets reach 24 × 24 CSS px or meet an exception in WCAG 2.5.8.Annotated screenshot with CSS dimensions.2.5.8 (AA)\n\n10 · Présentation; 13 · ConsultationMediumA11Y31Adaptation and robustnessConsistent navigation and components\n\nThe same element changes name, position or behaviour without reason.Repeated navigation keeps a consistent order and identical components are identified consistently.Comparison table and screenshots.3.2.3 (AA); 3.2.4 (AA)\n\n12 · NavigationMediumA11Y32Adaptation and robustnessCoherent programmatic reading order\n\nVisual reordering disconnects reading, meaning and action.At each viewport, DOM order and assistive-technology output preserve the meaning of content and instructions.Annotated capture, DOM extract and reading log.1.3.2 (A)\n\n9 · Structuration; 10 · PrésentationHighA11Y33Keyboard and focusAlternative to dragging movements\n\nAn action requires precise drag-and-drop that a person cannot perform.Any function based on dragging can also be completed with a single-pointer action, unless dragging is essential.Video comparing the dragging gesture with its single-action alternative.2.5.7 (AA)\n\n7 · Scripts — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2HighA11Y34Adaptation and robustnessConsistent help across pages\n\nThe way to obtain help changes position or order and becomes difficult to find.When a help mechanism repeats across pages, it keeps the same relative order unless the user initiated the change.Comparison table of help-mechanism order and dated screenshots.3.2.6 (A)\n\n12 · Navigation — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2MediumA11Y35Forms and errorsRedundant entry avoided\n\nInformation already supplied must be entered again in the same process.Previously supplied information is auto-populated or available for selection, except for security, necessity or invalid-data exceptions.Full-journey video and inventory of repeated fields with documented exceptions.3.3.7 (A)\n\n11 · Formulaires — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2High",
        "html": "<div><strong>A11Y01</strong>Orientation and structure<strong>Identifiable page title</strong><br><span>The user cannot tell which page is open.</span>The browser title describes the page and distinguishes it from other pages.Browser-tab screenshot and head extract.<span>2.4.2 (A)</span><br>8 &#183; &#201;l&#233;ments obligatoiresHigh<strong>A11Y02</strong>Orientation and structure<strong>Declared primary language</strong><br><span>Speech output pronounces content incorrectly.</span>The html lang attribute matches the actual primary language.DOM extract and test log.<span>3.1.1 (A)</span><br>8 &#183; &#201;l&#233;ments obligatoiresHigh<strong>A11Y03</strong>Orientation and structure<strong>Coherent heading hierarchy</strong><br><span>Sections become difficult to scan or understand.</span>One H1 describes the topic; H2/H3 reflect content nesting and are not decorative.Exported heading outline.<span>1.3.1 (A); 2.4.6 (AA)</span><br>9 &#183; StructurationHigh<strong>A11Y04</strong>Orientation and structure<strong>Landmarks and direct access to content</strong><br><span>Repeated navigation must be traversed on every page.</span>Main content is inside main; a working bypass link reaches a visible or focusable target.Keyboard video and accessibility tree.<span>1.3.1 (A); 2.4.1 (A)</span><br>9 &#183; Structuration; 12 &#183; NavigationHigh<strong>A11Y05</strong>Content and alternatives<strong>Alternatives for informative images</strong><br><span>Information conveyed by an image disappears.</span>Each informative image has an equivalent alternative; decorative images can be ignored.Screenshot without images and DOM extract.<span>1.1.1 (A)</span><br>1 &#183; ImagesHigh<strong>A11Y06</strong>Content and alternatives<strong>Names for functional images and icons</strong><br><span>A graphical action is silent or ambiguous.</span>The accessible name describes the action or destination, not the icon appearance.Accessibility tree or DOM report.<span>1.1.1 (A); 4.1.2 (A)</span><br>1 &#183; Images; 7 &#183; ScriptsBlocking<strong>A11Y07</strong>Content and alternatives<strong>Links understandable in context</strong><br><span>The destination of a link must be guessed.</span>The label and programmatic context identify the destination or function.Link list and context screenshots.<span>2.4.4 (A)</span><br>6 &#183; LiensHigh<strong>A11Y08</strong>Content and alternatives<strong>Instructions independent of shape and colour</strong><br><span>Instructions become unusable without full visual perception.</span>No essential instruction relies only on colour, position, shape or sound.Annotated screenshot and review log.<span>1.3.3 (A); 1.4.1 (A)</span><br>3 &#183; Couleurs; 13 &#183; ConsultationHigh<strong>A11Y09</strong>Visual perception<strong>Text contrast</strong><br><span>Text becomes unreadable for many users.</span>Contrast reaches 4.5:1 for normal text and 3:1 for large text, subject to WCAG exceptions.Contrast report with values and screenshots.<span>1.4.3 (AA)</span><br>3 &#183; CouleursHigh<strong>A11Y10</strong>Visual perception<strong>Contrast of components and meaningful states</strong><br><span>A field, focus indicator or state cannot be perceived.</span>Necessary visual boundaries and states reach 3:1 against adjacent colours, subject to WCAG exceptions.Component contrast report.<span>1.4.11 (AA)</span><br>3 &#183; Couleurs; 10 &#183; Pr&#233;sentationHigh<strong>A11Y11</strong>Visual perception<strong>Text zoom and custom spacing</strong><br><span>Content overlaps or disappears when reading settings are adapted.</span>At 200% zoom and WCAG text spacing, text and functions remain available without loss.Before/after screenshots and test log.<span>1.4.4 (AA); 1.4.12 (AA)</span><br>10 &#183; Pr&#233;sentationHigh<strong>A11Y12</strong>Visual perception<strong>Reflow at 320 CSS pixels</strong><br><span>Two-dimensional reading or horizontal scrolling is imposed.</span>Content and actions remain usable at 320 CSS px without loss or global horizontal scrolling, subject to exceptions.Full-page screenshot and scrollWidth/clientWidth measurement.<span>1.4.10 (AA)</span><br>10 &#183; Pr&#233;sentationBlocking<strong>A11Y13</strong>Keyboard and focus<strong>All functions available by keyboard</strong><br><span>A person without a mouse cannot complete the journey.</span>Every essential action can be completed by keyboard without pointer-dependent gestures.Uncut keyboard-journey video.<span>2.1.1 (A)</span><br>7 &#183; Scripts; 12 &#183; NavigationBlocking<strong>A11Y14</strong>Keyboard and focus<strong>No keyboard trap</strong><br><span>Focus enters a component and cannot leave it.</span>Focus can leave every component through a standard or documented method.Video and key sequence.<span>2.1.2 (A)</span><br>7 &#183; Scripts; 12 &#183; NavigationBlocking<strong>A11Y15</strong>Keyboard and focus<strong>Visible and unobscured focus</strong><br><span>The user loses their position or focus is covered.</span>Every focused control is perceptible and not entirely hidden by fixed content.Video or screenshots for each component family.<span>2.4.7 (AA); 2.4.11 (AA)</span><br>10 &#183; Pr&#233;sentation; 12 &#183; NavigationHigh<strong>A11Y16</strong>Keyboard and focus<strong>Logical focus order</strong><br><span>Reading and actions follow an incoherent order.</span>Sequential focus preserves meaning and operation; no positive tabindex forces it artificially.Numbered focus log and DOM extract.<span>2.4.3 (A)</span><br>12 &#183; NavigationHigh<strong>A11Y17</strong>Components and states<strong>Accessible name aligned with visible label</strong><br><span>Voice control cannot find the displayed control.</span>The accessible name contains the visible action text in a useful matching order.Screenshot and accessibility tree.<span>2.5.3 (A)</span><br>7 &#183; ScriptsHigh<strong>A11Y18</strong>Components and states<strong>Programmatic name, role, value and state</strong><br><span>The component is announced without a function or state.</span>Each component exposes a name, role and, where needed, an updated value or state.Two accessibility-tree captures.<span>4.1.2 (A)</span><br>7 &#183; ScriptsBlocking<strong>A11Y19</strong>Components and states<strong>Focus management for dialogs and panels</strong><br><span>Context changes without orientation or background content remains active.</span>On open, focus enters the component; it stays when required; on close, it returns to a logical point.Keyboard video and accessibility tree.<span>2.4.3 (A); 2.1.2 (A); 4.1.2 (A)</span><br>7 &#183; Scripts; 12 &#183; NavigationBlocking<strong>A11Y20</strong>Components and states<strong>Announced status messages</strong><br><span>Success, error or update feedback remains invisible to speech output.</span>Important messages are exposed without unnecessarily moving focus.Screen-reader log and DOM extract.<span>4.1.3 (AA)</span><br>7 &#183; Scripts; 11 &#183; FormulairesHigh<strong>A11Y21</strong>Forms and errors<strong>Explicit label for every field</strong><br><span>The expected data must be guessed.</span>Each field has a persistent, correctly associated and sufficiently precise label.Screenshot and DOM extract.<span>1.3.1 (A); 3.3.2 (A)</span><br>11 &#183; FormulairesBlocking<strong>A11Y22</strong>Forms and errors<strong>Identifiable purpose for personal-data fields</strong><br><span>Input assistance and autocomplete cannot work correctly.</span>Common personal-data fields use a valid autocomplete token when their purpose is known.DOM report of input attributes.<span>1.3.5 (AA)</span><br>11 &#183; FormulairesMedium<strong>A11Y23</strong>Forms and errors<strong>Errors identified and linked to fields</strong><br><span>The user knows submission failed but not where or why.</span>The error is named, located, linked to the field and announced; correct data is retained.Video, screenshot and accessibility tree.<span>3.3.1 (A); 3.3.3 (AA)</span><br>11 &#183; FormulairesBlocking<strong>A11Y24</strong>Forms and errors<strong>Prevention and confirmation for sensitive actions</strong><br><span>A legal, financial or irreversible action is confirmed by mistake.</span>The user can review, correct or confirm before finalisation and receives usable confirmation.Journey video and confirmation screenshot.<span>3.3.4 (AA)</span><br>11 &#183; FormulairesBlocking<strong>A11Y25</strong>Media, motion and time<strong>Captions for prerecorded video</strong><br><span>Audio content is inaccessible to deaf or hard-of-hearing users.</span>Speech and meaningful sounds are available in synchronised, reviewed captions.Video excerpt and caption file.<span>1.2.2 (A)</span><br>4 &#183; Multim&#233;diaHigh<strong>A11Y26</strong>Media, motion and time<strong>Alternative for essential visual or audio content</strong><br><span>A demonstration, chart or meaningful sound has no equivalent.</span>A transcript, audio description or text alternative conveys the necessary information for the medium.Transcript or alternative track linked to the media.<span>1.2.3 (A); 1.2.5 (AA)</span><br>4 &#183; Multim&#233;diaHigh<strong>A11Y27</strong>Media, motion and time<strong>Control of autoplay, motion and timing</strong><br><span>Content disrupts reading or expires before the action is complete.</span>Automatic audio can be stopped; long animations can be paused; time limits can be controlled, subject to exceptions.Video and timed test log.<span>1.4.2 (A); 2.2.1 (A); 2.2.2 (A)</span><br>4 &#183; Multim&#233;dia; 13 &#183; ConsultationBlocking<strong>A11Y28</strong>Media, motion and time<strong>Safe flashing and controllable motion</strong><br><span>Flashing or automatically moving content causes discomfort, loss of focus or neurological risk.</span>No content flashes more than three times per second and any automatic animation lasting more than five seconds can be paused, stopped or hidden.Scenario video and flashing measurement report where applicable.<span>2.2.2 (A); 2.3.1 (A)</span><br>13 &#183; ConsultationHigh<strong>A11Y29</strong>Adaptation and robustness<strong>Orientation not restricted</strong><br><span>The service becomes unusable on a device fixed in one orientation.</span>Content works in portrait and landscape unless orientation is essential.Two screenshots and test log.<span>1.3.4 (AA)</span><br>13 &#183; ConsultationHigh<strong>A11Y30</strong>Adaptation and robustness<strong>Sufficiently large touch targets</strong><br><span>An action is difficult to trigger accurately on mobile.</span>Targets reach 24 &#215; 24 CSS px or meet an exception in WCAG 2.5.8.Annotated screenshot with CSS dimensions.<span>2.5.8 (AA)</span><br>10 &#183; Pr&#233;sentation; 13 &#183; ConsultationMedium<strong>A11Y31</strong>Adaptation and robustness<strong>Consistent navigation and components</strong><br><span>The same element changes name, position or behaviour without reason.</span>Repeated navigation keeps a consistent order and identical components are identified consistently.Comparison table and screenshots.<span>3.2.3 (AA); 3.2.4 (AA)</span><br>12 &#183; NavigationMedium<strong>A11Y32</strong>Adaptation and robustness<strong>Coherent programmatic reading order</strong><br><span>Visual reordering disconnects reading, meaning and action.</span>At each viewport, DOM order and assistive-technology output preserve the meaning of content and instructions.Annotated capture, DOM extract and reading log.<span>1.3.2 (A)</span><br>9 &#183; Structuration; 10 &#183; Pr&#233;sentationHigh<strong>A11Y33</strong>Keyboard and focus<strong>Alternative to dragging movements</strong><br><span>An action requires precise drag-and-drop that a person cannot perform.</span>Any function based on dragging can also be completed with a single-pointer action, unless dragging is essential.Video comparing the dragging gesture with its single-action alternative.<span>2.5.7 (AA)</span><br>7 &#183; Scripts &#8212; crit&#232;re WCAG 2.2 sans &#233;quivalent direct dans le RGAA 4.1.2High<strong>A11Y34</strong>Adaptation and robustness<strong>Consistent help across pages</strong><br><span>The way to obtain help changes position or order and becomes difficult to find.</span>When a help mechanism repeats across pages, it keeps the same relative order unless the user initiated the change.Comparison table of help-mechanism order and dated screenshots.<span>3.2.6 (A)</span><br>12 &#183; Navigation &#8212; crit&#232;re WCAG 2.2 sans &#233;quivalent direct dans le RGAA 4.1.2Medium<strong>A11Y35</strong>Forms and errors<strong>Redundant entry avoided</strong><br><span>Information already supplied must be entered again in the same process.</span>Previously supplied information is auto-populated or available for selection, except for security, necessity or invalid-data exceptions.Full-journey video and inventory of repeated fields with documented exceptions.<span>3.3.7 (A)</span><br>11 &#183; Formulaires &#8212; crit&#232;re WCAG 2.2 sans &#233;quivalent direct dans le RGAA 4.1.2High</div>",
        "status": "ok"
      },
      "justext": {
        "tool": "jusText",
        "version": "3.0.2",
        "text": "Where should a professional website start with accessibility? This open method turns 36 frequent barriers into replayable checks, evidence and decisions—without confusing a foundation, a full audit and legal conformance.\nEdikka insight\nUse this analysis.\nSummarize the article with AI, share it with your team or turn it into a prioritized action plan for your website.\nAn accessible website is not identified by a score: it is verified through journeys, criteria and evidence.\nWeb accessibility removes barriers that prevent a person from perceiving content, understanding an interface, navigating or taking action. On a professional website, the useful starting point is neither a vague statement nor an automated score. It is a bounded, replayable check linked to evidence.\nThis edition publishes the Edikka foundation v1.0: 36 checks across 8 families, each with an acceptance criterion, method, expected evidence and mapping to WCAG 2.2 and RGAA 4.1.2 themes. It helps teams begin. It does not replace a conformance audit.\n8operational families\n36replayable checks\n4controlled statuses\nNoautomatic certification\nEvidence rule\nA check that has not been tested is not a pass. It remains “not tested”. Missing evidence is never converted into success.\nScope\nThis foundation answers “where do we start?”, not “are we legally conformant?”\nWCAG 2.2 organises success criteria under four principles: perceivable, operable, understandable and robust. RGAA 4.1.2 provides a French operational method of criteria and tests. WCAG-EM frames whole-website evaluation and sampling. These layers do not serve the same purpose.\nThe foundation selects frequent barriers that can be checked on a page or critical journey. A WCAG claim or RGAA statement requires a defined scope, representative sample, all applicable criteria and human testing. Whether RGAA or the EAA applies also depends on the entity and the service.\nFour qualification questions before discussing obligations\nQuestion\nDecision available here\nCorrect next step\nIs the entity in the public scope or subject to a specific French obligation?\nQualify it; do not infer an obligation from the mere existence of a website.\nLegal limit. This table orients the work; it is not legal advice. The French DGCCRF page lists products and services covered by the European directive and related exemptions.\nSelection method\nWhy 36 checks: the count comes from a published rule, not a marketing number.\nA check enters the foundation only if it satisfies all five conditions below. This avoids reducing accessibility to ten generic tips or presenting a short table as the whole of WCAG and RGAA. Families receive no quota: forms, keyboard and landmarks contain more checks when the rule produces more.\n01\nThe check applies to most public pages or transactional journeys on a professional website.\n02\nThe result can be observed on a bounded scope without claiming to sample the entire website.\n03\nThe acceptance criterion and expected evidence can be stated without opaque judgement.\n04\nA failure creates an access, understanding, navigation or action barrier.\n05\nThe check maps to a WCAG 2.2 Level A or AA success criterion and an RGAA 4.1.2 theme.\nOutside the foundation\nCriteria that depend on a medium, sector, legal scope, full sample or specialist judgement belong in the dedicated audit. “Not applicable” must be justified, never used to inflate a score.\nDual taxonomy\nEight families to act, with normative mapping to verify.\nThe operational family helps a team assign the correction. WCAG/RGAA mapping leads back to primary references. Both taxonomies are retained: one organises action, the other prevents Edikka from inventing its own standard.\nAdaptation and robustness\nThe 36 foundation checks, each with visible acceptance criteria and evidence.\nThe visible table publishes the acceptance criterion and expected evidence. The XLSX adds detailed method, owner, status, date, limitation and evidence link. The JSON is the machine source shared by the French and English editions.\nNormative reading. RGAA 4.1.2 aligns with WCAG 2.1. Checks A11Y33 to A11Y36 cover four A/AA criteria added in WCAG 2.2; their RGAA mapping identifies the relevant operational theme and states that version 4.1.2 has no direct equivalent.\nThe 36 checks in the Edikka v1.0 foundation. RGAA mapping identifies a relevant theme, not a conformance result.\nID\nFamily\nBarrier checked\nAcceptance criterion\nExpected evidence\nWCAG 2.2 / RGAA 4.1.2\nSeverity\nA11Y01\nOrientation and structure\nIdentifiable page title The user cannot tell which page is open.\nThe browser title describes the page and distinguishes it from other pages.\n“Check the keyboard” is not evidence. A scenario must name the page, viewport, initial state, keys used and action to complete. The expected result must be observable. The evidence must allow a third party to replay or challenge the conclusion.\nVague check\n“The menu is keyboard accessible.” No journey, evidence or environment.\nSeverity describes the impact of a defect. Status describes the test result. Release blocking is a governance decision. The three are not merged.\nPrioritisation\nFix first what prevents people from perceiving, navigating or completing the action.\nEdikka foundation severity vocabulary\nSeverity\nDefinition\nExample\nExpected decision\nBlocking\nThe critical journey cannot be completed or essential information disappears.\nKeyboard-inoperable form; field without label; unlocated error.\nFix before release or document a no-go decision.\nHigh\nThe journey remains possible but creates major difficulty or uncertainty.\nPoorly visible focus; insufficient contrast; repeated ambiguous link.\nFix in the priority batch and retest.\nMedium\nThe friction is real but does not alone block the main objective.\nSmall touch target; inconsistent name for a secondary component.\nPlan, assign and verify non-regression.\nAutomation and people\nTools detect symptoms; human journeys establish impact.\nA validator can find a missing attribute, measurable contrast or an empty accessible name. It cannot always decide whether an alternative conveys the right meaning, whether an error message actually helps or whether focus returns to the right context. The method therefore requires a bounded human replay with assistive technology, without turning it into a standalone WCAG criterion.\nDownload, replay, challenge and improve the method.\nThe assets are free, require no form and use a CC BY 4.0 licence. You may adapt and redistribute them with attribution to Edikka and the canonical URL. The XLSX supports teamwork; JSON is the machine source; Markdown exposes a stable text edition.\nEdikka is a web agency: this grid is a published working method, not an independent standard.\nWe use this grid to scope, design and accept websites. We therefore have a commercial interest in demonstrating the quality of the method. To make that conflict visible, we publish the selection rule, limits, sources, checks and reusable formats.\nThe foundation does not cover every applicable criterion, calculate an RGAA rate, certify any website or guarantee legal compliance, absence of barriers, SEO ranking or AI citation. Clear structure makes a page more reliable to read; visibility depends on other signals.\nConclusion\nStart with a real journey, an observable barrier and replayable evidence.\nAccessibility does not progress when a team adds a score to a dashboard. It progresses when a person can complete an action that was previously impossible, the fix is carried by the right component and a third party can replay the test.\nChoose a critical journey, run the 36 applicable checks, retain evidence, fix blockers and retest. Then expand the scope with a full audit method when the objective becomes conformance.\nDecision\nDo not publish “accessible” because a tool is green. Publish what was tested, how, when, with what evidence and what limitations.\nEdikka vision\nAccessibility becomes credible when design, content and code share the same evidence.\nA check is not a box. It is an observable commitment: a person can complete the action, the fix holds in the component and the result can be replayed.\n01Use\nStart from the real journey\nPriority comes from what a user must perceive, understand and complete—not from what is easiest to measure.\n02System\nFix at the source\nAn accessible, documented and tested component prevents the same defect from being repaired page by page.\n03Evidence\nName what remains unknown\nNot tested, not applicable and fail are useful information. Hiding them destroys trust.\nRemember\nPremium quality does not make accessibility invisible. It embeds its requirements in every design decision.\nGo further on this topic\nWeb accessibility means designing content, interfaces and journeys so people can perceive information, understand the interface, navigate and act, including with a keyboard or assistive technology.\nDisabled people, as well as users on the move, using magnification, on a degraded connection, with a temporary injury, or in a context that limits attention, vision, hearing or dexterity.\nNo. The foundation supports an initial diagnosis of a journey. A conformance claim requires a defined scope, representative sample, every applicable criterion and documented human testing.\nWCAG 2.2 defines international success criteria. RGAA 4.1.2 provides a French operational test method. The EAA creates European obligations for selected products and services. Applicability depends on the entity, service and context.",
        "paragraphs": [
          {
            "text": "Skip to content",
            "is_boilerplate": true
          },
          {
            "text": "The agency",
            "is_boilerplate": true
          },
          {
            "text": "Expertise",
            "is_boilerplate": true
          },
          {
            "text": "Expertise Create. Optimize. Convert. A precise, elegant, results-driven digital approach. All expertise →",
            "is_boilerplate": true
          },
          {
            "text": "→Digital strategyPositioning, user journeys, acquisition, and growth.",
            "is_boilerplate": true
          },
          {
            "text": "→Experience & designElegant, readable interfaces designed to convert.",
            "is_boilerplate": true
          },
          {
            "text": "→Web developmentFast, robust, maintainable code.",
            "is_boilerplate": true
          },
          {
            "text": "→SEO & AI visibilitySEO, GEO, editorial structure, and long-term performance.",
            "is_boilerplate": true
          },
          {
            "text": "21Open instrument libraryProtocols, grids and datasets supporting our expertise.→",
            "is_boilerplate": true
          },
          {
            "text": "Projects",
            "is_boilerplate": true
          },
          {
            "text": "AI",
            "is_boilerplate": true
          },
          {
            "text": "Contact",
            "is_boilerplate": true
          },
          {
            "text": "FR EN",
            "is_boilerplate": true
          },
          {
            "text": "Menu",
            "is_boilerplate": true
          },
          {
            "text": "Agency→",
            "is_boilerplate": true
          },
          {
            "text": "Expertise→",
            "is_boilerplate": true
          },
          {
            "text": "Digital strategyPositioning & growth",
            "is_boilerplate": true
          },
          {
            "text": "Experience & designInterfaces & conversion",
            "is_boilerplate": true
          },
          {
            "text": "Web developmentFast & robust code",
            "is_boilerplate": true
          },
          {
            "text": "SEO & AI visibilityStructure & performance",
            "is_boilerplate": true
          },
          {
            "text": "21Open instrument libraryInstruments & evidence",
            "is_boilerplate": true
          },
          {
            "text": "AI Automation",
            "is_boilerplate": true
          },
          {
            "text": "Projects→",
            "is_boilerplate": true
          },
          {
            "text": "Insights→",
            "is_boilerplate": true
          },
          {
            "text": "Contact→",
            "is_boilerplate": true
          },
          {
            "text": "Home",
            "is_boilerplate": true
          },
          {
            "text": "Insights",
            "is_boilerplate": true
          },
          {
            "text": "Web development",
            "is_boilerplate": true
          },
          {
            "text": "Web accessibility: 36 essential checks",
            "is_boilerplate": true
          },
          {
            "text": "Insights",
            "is_boilerplate": true
          },
          {
            "text": "Web development",
            "is_boilerplate": true
          },
          {
            "text": "Level: Optimize",
            "is_boilerplate": true
          },
          {
            "text": "Web accessibility: 36 essential checks for a professional website",
            "is_boilerplate": true
          },
          {
            "text": "A verifiable foundation: 36 checks, 8 families, acceptance criteria, evidence and explicit limits.",
            "is_boilerplate": true
          },
          {
            "text": "Estimated reading time: 13:35",
            "is_boilerplate": true
          },
          {
            "text": "Summary",
            "is_boilerplate": true
          },
          {
            "text": "01 Short answer",
            "is_boilerplate": true
          },
          {
            "text": "02 Foundation scope",
            "is_boilerplate": true
          },
          {
            "text": "03 Selection rule",
            "is_boilerplate": true
          },
          {
            "text": "04 8 families",
            "is_boilerplate": true
          },
          {
            "text": "05 36 checks",
            "is_boilerplate": true
          },
          {
            "text": "06 Run a check",
            "is_boilerplate": true
          },
          {
            "text": "07 Prioritise",
            "is_boilerplate": true
          },
          {
            "text": "08 Tools and people",
            "is_boilerplate": true
          },
          {
            "text": "09 Project workflow",
            "is_boilerplate": true
          },
          {
            "text": "10 Cluster journey",
            "is_boilerplate": true
          },
          {
            "text": "11 Open assets",
            "is_boilerplate": true
          },
          {
            "text": "12 Sources",
            "is_boilerplate": true
          },
          {
            "text": "13 Version and integrity",
            "is_boilerplate": true
          },
          {
            "text": "14 Voluntary limit",
            "is_boilerplate": true
          },
          {
            "text": "15 Conclusion",
            "is_boilerplate": true
          },
          {
            "text": "Where should a professional website start with accessibility? This open method turns 36 frequent barriers into replayable checks, evidence and decisions—without confusing a foundation, a full audit and legal conformance.",
            "is_boilerplate": false
          },
          {
            "text": "Edikka insight",
            "is_boilerplate": false
          },
          {
            "text": "Use this analysis.",
            "is_boilerplate": false
          },
          {
            "text": "Summarize the article with AI, share it with your team or turn it into a prioritized action plan for your website.",
            "is_boilerplate": false
          },
          {
            "text": "Analysis byBertrand MorelFounder of Edikka, digital strategy, UX/UI, web development, SEO and AI visibility.",
            "is_boilerplate": true
          },
          {
            "text": "Created",
            "is_boilerplate": true
          },
          {
            "text": "May 19, 2026",
            "is_boilerplate": true
          },
          {
            "text": "Updated",
            "is_boilerplate": true
          },
          {
            "text": "August 25, 2026",
            "is_boilerplate": true
          },
          {
            "text": "Topic",
            "is_boilerplate": true
          },
          {
            "text": "Web development",
            "is_boilerplate": true
          },
          {
            "text": "Move into action",
            "is_boilerplate": true
          },
          {
            "text": "Request a diagnosis",
            "is_boilerplate": true
          },
          {
            "text": "Summarize with AI",
            "is_boilerplate": true
          },
          {
            "text": "Share",
            "is_boilerplate": true
          },
          {
            "text": "Action completed.",
            "is_boilerplate": true
          },
          {
            "text": "Part of the Edikka instrument libraryv1.1 · CC BY 4.0",
            "is_boilerplate": true
          },
          {
            "text": "Professional website accessibility foundation",
            "is_boilerplate": true
          },
          {
            "text": "Prepare a journey assessment and identify checks needing further review.",
            "is_boilerplate": true
          },
          {
            "text": "Preview, files and citation",
            "is_boilerplate": true
          },
          {
            "text": "Inside the instrument",
            "is_boilerplate": true
          },
          {
            "text": "Three excerpts from the published file · abridged where necessary",
            "is_boilerplate": true
          },
          {
            "text": "ID",
            "is_boilerplate": true
          },
          {
            "text": "Check",
            "is_boilerplate": true
          },
          {
            "text": "Expected evidence",
            "is_boilerplate": true
          },
          {
            "text": "A11Y01",
            "is_boilerplate": true
          },
          {
            "text": "Identifiable page title",
            "is_boilerplate": true
          },
          {
            "text": "Browser-tab screenshot and head extract.",
            "is_boilerplate": true
          },
          {
            "text": "A11Y02",
            "is_boilerplate": true
          },
          {
            "text": "Declared primary language",
            "is_boilerplate": true
          },
          {
            "text": "DOM extract and test log.",
            "is_boilerplate": true
          },
          {
            "text": "A11Y03",
            "is_boilerplate": true
          },
          {
            "text": "Coherent heading hierarchy",
            "is_boilerplate": true
          },
          {
            "text": "Exported heading outline.",
            "is_boilerplate": true
          },
          {
            "text": "Read the original file — Professional website accessibility foundation · v1.1",
            "is_boilerplate": true
          },
          {
            "text": "Cite this version",
            "is_boilerplate": true
          },
          {
            "text": "Edikka (2026). Professional website accessibility foundation (v1.1). https://www.edikka.com/en/insights/web-development/web-accessibility-professional-website-basics#library-source-professional-website-accessibility-foundation. Accessed 2026-09-11. CC BY 4.0.",
            "is_boilerplate": true
          },
          {
            "text": "Version history: this catalogue documents the version shown above. No earlier change log is provided here.",
            "is_boilerplate": true
          },
          {
            "text": "Report an issue with this version by email — Professional website accessibility foundation",
            "is_boilerplate": true
          },
          {
            "text": "socle-accessibilite-site-professionnel-edikka-v1-1.json · JSON · fr + en",
            "is_boilerplate": true
          },
          {
            "text": "schema-socle-accessibilite-site-professionnel-edikka-v1-1.json · JSON Schema · zxx",
            "is_boilerplate": true
          },
          {
            "text": "socle-accessibilite-site-professionnel-edikka-v1.xlsx · XLSX · fr + en",
            "is_boilerplate": true
          },
          {
            "text": "auto-evaluation-socle-accessibilite-edikka-2026-08-26.json · JSON · fr",
            "is_boilerplate": true
          },
          {
            "text": "auto-evaluation-socle-accessibilite-edikka-2026-08-26.xlsx · XLSX · fr",
            "is_boilerplate": true
          },
          {
            "text": "Interpretation limit. A public candidate for journey diagnosis; the distributed workbook remains edition 1.0 and the package is neither a certification nor an RGAA conformance audit.",
            "is_boilerplate": true
          },
          {
            "text": "Find this instrument in the catalogue",
            "is_boilerplate": true
          },
          {
            "text": "Short answer",
            "is_boilerplate": true
          },
          {
            "text": "An accessible website is not identified by a score: it is verified through journeys, criteria and evidence.",
            "is_boilerplate": false
          },
          {
            "text": "Web accessibility removes barriers that prevent a person from perceiving content, understanding an interface, navigating or taking action. On a professional website, the useful starting point is neither a vague statement nor an automated score. It is a bounded, replayable check linked to evidence.",
            "is_boilerplate": false
          },
          {
            "text": "This edition publishes the Edikka foundation v1.0: 36 checks across 8 families, each with an acceptance criterion, method, expected evidence and mapping to WCAG 2.2 and RGAA 4.1.2 themes. It helps teams begin. It does not replace a conformance audit.",
            "is_boilerplate": false
          },
          {
            "text": "8operational families",
            "is_boilerplate": false
          },
          {
            "text": "36replayable checks",
            "is_boilerplate": false
          },
          {
            "text": "4controlled statuses",
            "is_boilerplate": false
          },
          {
            "text": "Noautomatic certification",
            "is_boilerplate": false
          },
          {
            "text": "Evidence rule",
            "is_boilerplate": false
          },
          {
            "text": "A check that has not been tested is not a pass. It remains “not tested”. Missing evidence is never converted into success.",
            "is_boilerplate": false
          },
          {
            "text": "Scope",
            "is_boilerplate": false
          },
          {
            "text": "This foundation answers “where do we start?”, not “are we legally conformant?”",
            "is_boilerplate": false
          },
          {
            "text": "WCAG 2.2 organises success criteria under four principles: perceivable, operable, understandable and robust. RGAA 4.1.2 provides a French operational method of criteria and tests. WCAG-EM frames whole-website evaluation and sampling. These layers do not serve the same purpose.",
            "is_boilerplate": false
          },
          {
            "text": "The foundation selects frequent barriers that can be checked on a page or critical journey. A WCAG claim or RGAA statement requires a defined scope, representative sample, all applicable criteria and human testing. Whether RGAA or the EAA applies also depends on the entity and the service.",
            "is_boilerplate": false
          },
          {
            "text": "Four qualification questions before discussing obligations",
            "is_boilerplate": false
          },
          {
            "text": "Question",
            "is_boilerplate": false
          },
          {
            "text": "Decision available here",
            "is_boilerplate": false
          },
          {
            "text": "Correct next step",
            "is_boilerplate": false
          },
          {
            "text": "Is the entity in the public scope or subject to a specific French obligation?",
            "is_boilerplate": false
          },
          {
            "text": "Qualify it; do not infer an obligation from the mere existence of a website.",
            "is_boilerplate": false
          },
          {
            "text": "Read the RGAA, WCAG and EAA guide.",
            "is_boilerplate": true
          },
          {
            "text": "Does the B2C service fall within EAA categories applying since 28 June 2025?",
            "is_boilerplate": true
          },
          {
            "text": "Qualify by service, business and exemptions.",
            "is_boilerplate": true
          },
          {
            "text": "Document scope with legal advice where necessary.",
            "is_boilerplate": true
          },
          {
            "text": "Is the need an initial diagnosis or conformance evidence?",
            "is_boilerplate": true
          },
          {
            "text": "This foundation supports initial diagnosis.",
            "is_boilerplate": true
          },
          {
            "text": "For conformance evidence, prepare a full audit and representative sample.",
            "is_boilerplate": true
          },
          {
            "text": "Is an automated score available?",
            "is_boilerplate": true
          },
          {
            "text": "The score informs a subset of automatable rules.",
            "is_boilerplate": true
          },
          {
            "text": "Understand what Lighthouse does not prove.",
            "is_boilerplate": true
          },
          {
            "text": "Legal limit. This table orients the work; it is not legal advice. The French DGCCRF page lists products and services covered by the European directive and related exemptions.",
            "is_boilerplate": false
          },
          {
            "text": "Selection method",
            "is_boilerplate": false
          },
          {
            "text": "Why 36 checks: the count comes from a published rule, not a marketing number.",
            "is_boilerplate": false
          },
          {
            "text": "A check enters the foundation only if it satisfies all five conditions below. This avoids reducing accessibility to ten generic tips or presenting a short table as the whole of WCAG and RGAA. Families receive no quota: forms, keyboard and landmarks contain more checks when the rule produces more.",
            "is_boilerplate": false
          },
          {
            "text": "01",
            "is_boilerplate": false
          },
          {
            "text": "The check applies to most public pages or transactional journeys on a professional website.",
            "is_boilerplate": false
          },
          {
            "text": "02",
            "is_boilerplate": false
          },
          {
            "text": "The result can be observed on a bounded scope without claiming to sample the entire website.",
            "is_boilerplate": false
          },
          {
            "text": "03",
            "is_boilerplate": false
          },
          {
            "text": "The acceptance criterion and expected evidence can be stated without opaque judgement.",
            "is_boilerplate": false
          },
          {
            "text": "04",
            "is_boilerplate": false
          },
          {
            "text": "A failure creates an access, understanding, navigation or action barrier.",
            "is_boilerplate": false
          },
          {
            "text": "05",
            "is_boilerplate": false
          },
          {
            "text": "The check maps to a WCAG 2.2 Level A or AA success criterion and an RGAA 4.1.2 theme.",
            "is_boilerplate": false
          },
          {
            "text": "Outside the foundation",
            "is_boilerplate": false
          },
          {
            "text": "Criteria that depend on a medium, sector, legal scope, full sample or specialist judgement belong in the dedicated audit. “Not applicable” must be justified, never used to inflate a score.",
            "is_boilerplate": false
          },
          {
            "text": "Dual taxonomy",
            "is_boilerplate": false
          },
          {
            "text": "Eight families to act, with normative mapping to verify.",
            "is_boilerplate": false
          },
          {
            "text": "The operational family helps a team assign the correction. WCAG/RGAA mapping leads back to primary references. Both taxonomies are retained: one organises action, the other prevents Edikka from inventing its own standard.",
            "is_boilerplate": false
          },
          {
            "text": "01",
            "is_boilerplate": true
          },
          {
            "text": "4 checks",
            "is_boilerplate": true
          },
          {
            "text": "Orientation and structure",
            "is_boilerplate": true
          },
          {
            "text": "WCAG: Operable / Understandable RGAA: 8 · Éléments obligatoires; 9 · Structuration; 12 · Navigation",
            "is_boilerplate": true
          },
          {
            "text": "02",
            "is_boilerplate": true
          },
          {
            "text": "4 checks",
            "is_boilerplate": true
          },
          {
            "text": "Content and alternatives",
            "is_boilerplate": true
          },
          {
            "text": "WCAG: Perceivable / Understandable RGAA: 1 · Images; 3 · Couleurs; 6 · Liens; 13 · Consultation",
            "is_boilerplate": true
          },
          {
            "text": "03",
            "is_boilerplate": true
          },
          {
            "text": "4 checks",
            "is_boilerplate": true
          },
          {
            "text": "Visual perception",
            "is_boilerplate": true
          },
          {
            "text": "WCAG: Perceivable RGAA: 3 · Couleurs; 10 · Présentation",
            "is_boilerplate": true
          },
          {
            "text": "04",
            "is_boilerplate": true
          },
          {
            "text": "5 checks",
            "is_boilerplate": true
          },
          {
            "text": "Keyboard and focus",
            "is_boilerplate": true
          },
          {
            "text": "WCAG: Operable RGAA: 7 · Scripts; 10 · Présentation; 12 · Navigation",
            "is_boilerplate": true
          },
          {
            "text": "05",
            "is_boilerplate": true
          },
          {
            "text": "4 checks",
            "is_boilerplate": true
          },
          {
            "text": "Components and states",
            "is_boilerplate": true
          },
          {
            "text": "WCAG: Operable / Robust RGAA: 7 · Scripts; 12 · Navigation",
            "is_boilerplate": true
          },
          {
            "text": "06",
            "is_boilerplate": true
          },
          {
            "text": "6 checks",
            "is_boilerplate": true
          },
          {
            "text": "Forms and errors",
            "is_boilerplate": true
          },
          {
            "text": "WCAG: Understandable / Robust RGAA: 11 · Formulaires",
            "is_boilerplate": true
          },
          {
            "text": "07",
            "is_boilerplate": true
          },
          {
            "text": "4 checks",
            "is_boilerplate": true
          },
          {
            "text": "Media, motion and time",
            "is_boilerplate": true
          },
          {
            "text": "WCAG: Perceivable / Operable RGAA: 4 · Multimédia; 13 · Consultation",
            "is_boilerplate": true
          },
          {
            "text": "08",
            "is_boilerplate": true
          },
          {
            "text": "5 checks",
            "is_boilerplate": true
          },
          {
            "text": "Adaptation and robustness",
            "is_boilerplate": false
          },
          {
            "text": "WCAG: Operable / Understandable / Robust RGAA: 7 · Scripts; 10 · Présentation; 12 · Navigation; 13 · Consultation",
            "is_boilerplate": true
          },
          {
            "text": "Open grid · v1.0",
            "is_boilerplate": true
          },
          {
            "text": "The 36 foundation checks, each with visible acceptance criteria and evidence.",
            "is_boilerplate": false
          },
          {
            "text": "The visible table publishes the acceptance criterion and expected evidence. The XLSX adds detailed method, owner, status, date, limitation and evidence link. The JSON is the machine source shared by the French and English editions.",
            "is_boilerplate": false
          },
          {
            "text": "Normative reading. RGAA 4.1.2 aligns with WCAG 2.1. Checks A11Y33 to A11Y36 cover four A/AA criteria added in WCAG 2.2; their RGAA mapping identifies the relevant operational theme and states that version 4.1.2 has no direct equivalent.",
            "is_boilerplate": false
          },
          {
            "text": "The 36 checks in the Edikka v1.0 foundation. RGAA mapping identifies a relevant theme, not a conformance result.",
            "is_boilerplate": false
          },
          {
            "text": "ID",
            "is_boilerplate": false
          },
          {
            "text": "Family",
            "is_boilerplate": false
          },
          {
            "text": "Barrier checked",
            "is_boilerplate": false
          },
          {
            "text": "Acceptance criterion",
            "is_boilerplate": false
          },
          {
            "text": "Expected evidence",
            "is_boilerplate": false
          },
          {
            "text": "WCAG 2.2 / RGAA 4.1.2",
            "is_boilerplate": false
          },
          {
            "text": "Severity",
            "is_boilerplate": false
          },
          {
            "text": "A11Y01",
            "is_boilerplate": false
          },
          {
            "text": "Orientation and structure",
            "is_boilerplate": false
          },
          {
            "text": "Identifiable page title The user cannot tell which page is open.",
            "is_boilerplate": false
          },
          {
            "text": "The browser title describes the page and distinguishes it from other pages.",
            "is_boilerplate": false
          },
          {
            "text": "Browser-tab screenshot and head extract.",
            "is_boilerplate": true
          },
          {
            "text": "2.4.2 (A) 8 · Éléments obligatoires",
            "is_boilerplate": true
          },
          {
            "text": "High",
            "is_boilerplate": true
          },
          {
            "text": "A11Y02",
            "is_boilerplate": true
          },
          {
            "text": "Orientation and structure",
            "is_boilerplate": true
          },
          {
            "text": "Declared primary language Speech output pronounces content incorrectly.",
            "is_boilerplate": true
          },
          {
            "text": "The html lang attribute matches the actual primary language.",
            "is_boilerplate": true
          },
          {
            "text": "DOM extract and test log.",
            "is_boilerplate": true
          },
          {
            "text": "3.1.1 (A) 8 · Éléments obligatoires",
            "is_boilerplate": true
          },
          {
            "text": "High",
            "is_boilerplate": true
          },
          {
            "text": "A11Y03",
            "is_boilerplate": true
          },
          {
            "text": "Orientation and structure",
            "is_boilerplate": true
          },
          {
            "text": "Coherent heading hierarchy Sections become difficult to scan or understand.",
            "is_boilerplate": true
          },
          {
            "text": "One H1 describes the topic; H2/H3 reflect content nesting and are not decorative.",
            "is_boilerplate": true
          },
          {
            "text": "Exported heading outline.",
            "is_boilerplate": true
          },
          {
            "text": "1.3.1 (A); 2.4.6 (AA) 9 · Structuration",
            "is_boilerplate": true
          },
          {
            "text": "High",
            "is_boilerplate": true
          },
          {
            "text": "A11Y04",
            "is_boilerplate": true
          },
          {
            "text": "Orientation and structure",
            "is_boilerplate": true
          },
          {
            "text": "Landmarks and direct access to content Repeated navigation must be traversed on every page.",
            "is_boilerplate": true
          },
          {
            "text": "Main content is inside main; a working bypass link reaches a visible or focusable target.",
            "is_boilerplate": true
          },
          {
            "text": "Keyboard video and accessibility tree.",
            "is_boilerplate": true
          },
          {
            "text": "1.3.1 (A); 2.4.1 (A) 9 · Structuration; 12 · Navigation",
            "is_boilerplate": true
          },
          {
            "text": "High",
            "is_boilerplate": true
          },
          {
            "text": "A11Y05",
            "is_boilerplate": true
          },
          {
            "text": "Content and alternatives",
            "is_boilerplate": true
          },
          {
            "text": "Alternatives for informative images Information conveyed by an image disappears.",
            "is_boilerplate": true
          },
          {
            "text": "Each informative image has an equivalent alternative; decorative images can be ignored.",
            "is_boilerplate": true
          },
          {
            "text": "Screenshot without images and DOM extract.",
            "is_boilerplate": true
          },
          {
            "text": "1.1.1 (A) 1 · Images",
            "is_boilerplate": true
          },
          {
            "text": "High",
            "is_boilerplate": true
          },
          {
            "text": "A11Y06",
            "is_boilerplate": true
          },
          {
            "text": "Content and alternatives",
            "is_boilerplate": true
          },
          {
            "text": "Names for functional images and icons A graphical action is silent or ambiguous.",
            "is_boilerplate": true
          },
          {
            "text": "The accessible name describes the action or destination, not the icon appearance.",
            "is_boilerplate": true
          },
          {
            "text": "Accessibility tree or DOM report.",
            "is_boilerplate": true
          },
          {
            "text": "1.1.1 (A); 4.1.2 (A) 1 · Images; 7 · Scripts",
            "is_boilerplate": true
          },
          {
            "text": "Blocking",
            "is_boilerplate": true
          },
          {
            "text": "A11Y07",
            "is_boilerplate": true
          },
          {
            "text": "Content and alternatives",
            "is_boilerplate": true
          },
          {
            "text": "Links understandable in context The destination of a link must be guessed.",
            "is_boilerplate": true
          },
          {
            "text": "The label and programmatic context identify the destination or function.",
            "is_boilerplate": true
          },
          {
            "text": "Link list and context screenshots.",
            "is_boilerplate": true
          },
          {
            "text": "2.4.4 (A) 6 · Liens",
            "is_boilerplate": true
          },
          {
            "text": "High",
            "is_boilerplate": true
          },
          {
            "text": "A11Y08",
            "is_boilerplate": true
          },
          {
            "text": "Content and alternatives",
            "is_boilerplate": true
          },
          {
            "text": "Instructions independent of shape and colour Instructions become unusable without full visual perception.",
            "is_boilerplate": true
          },
          {
            "text": "No essential instruction relies only on colour, position, shape or sound.",
            "is_boilerplate": true
          },
          {
            "text": "Annotated screenshot and review log.",
            "is_boilerplate": true
          },
          {
            "text": "1.3.3 (A); 1.4.1 (A) 3 · Couleurs; 13 · Consultation",
            "is_boilerplate": true
          },
          {
            "text": "High",
            "is_boilerplate": true
          },
          {
            "text": "A11Y09",
            "is_boilerplate": true
          },
          {
            "text": "Visual perception",
            "is_boilerplate": true
          },
          {
            "text": "Text contrast Text becomes unreadable for many users.",
            "is_boilerplate": true
          },
          {
            "text": "Contrast reaches 4.5:1 for normal text and 3:1 for large text, subject to WCAG exceptions.",
            "is_boilerplate": true
          },
          {
            "text": "Contrast report with values and screenshots.",
            "is_boilerplate": true
          },
          {
            "text": "1.4.3 (AA) 3 · Couleurs",
            "is_boilerplate": true
          },
          {
            "text": "High",
            "is_boilerplate": true
          },
          {
            "text": "A11Y10",
            "is_boilerplate": true
          },
          {
            "text": "Visual perception",
            "is_boilerplate": true
          },
          {
            "text": "Contrast of components and meaningful states A field, focus indicator or state cannot be perceived.",
            "is_boilerplate": true
          },
          {
            "text": "Necessary visual boundaries and states reach 3:1 against adjacent colours, subject to WCAG exceptions.",
            "is_boilerplate": true
          },
          {
            "text": "Component contrast report.",
            "is_boilerplate": true
          },
          {
            "text": "1.4.11 (AA) 3 · Couleurs; 10 · Présentation",
            "is_boilerplate": true
          },
          {
            "text": "High",
            "is_boilerplate": true
          },
          {
            "text": "A11Y11",
            "is_boilerplate": true
          },
          {
            "text": "Visual perception",
            "is_boilerplate": true
          },
          {
            "text": "Text zoom and custom spacing Content overlaps or disappears when reading settings are adapted.",
            "is_boilerplate": true
          },
          {
            "text": "At 200% zoom and WCAG text spacing, text and functions remain available without loss.",
            "is_boilerplate": true
          },
          {
            "text": "Before/after screenshots and test log.",
            "is_boilerplate": true
          },
          {
            "text": "1.4.4 (AA); 1.4.12 (AA) 10 · Présentation",
            "is_boilerplate": true
          },
          {
            "text": "High",
            "is_boilerplate": true
          },
          {
            "text": "A11Y12",
            "is_boilerplate": true
          },
          {
            "text": "Visual perception",
            "is_boilerplate": true
          },
          {
            "text": "Reflow at 320 CSS pixels Two-dimensional reading or horizontal scrolling is imposed.",
            "is_boilerplate": true
          },
          {
            "text": "Content and actions remain usable at 320 CSS px without loss or global horizontal scrolling, subject to exceptions.",
            "is_boilerplate": true
          },
          {
            "text": "Full-page screenshot and scrollWidth/clientWidth measurement.",
            "is_boilerplate": true
          },
          {
            "text": "1.4.10 (AA) 10 · Présentation",
            "is_boilerplate": true
          },
          {
            "text": "Blocking",
            "is_boilerplate": true
          },
          {
            "text": "A11Y13",
            "is_boilerplate": true
          },
          {
            "text": "Keyboard and focus",
            "is_boilerplate": true
          },
          {
            "text": "All functions available by keyboard A person without a mouse cannot complete the journey.",
            "is_boilerplate": true
          },
          {
            "text": "Every essential action can be completed by keyboard without pointer-dependent gestures.",
            "is_boilerplate": true
          },
          {
            "text": "Uncut keyboard-journey video.",
            "is_boilerplate": true
          },
          {
            "text": "2.1.1 (A) 7 · Scripts; 12 · Navigation",
            "is_boilerplate": true
          },
          {
            "text": "Blocking",
            "is_boilerplate": true
          },
          {
            "text": "A11Y14",
            "is_boilerplate": true
          },
          {
            "text": "Keyboard and focus",
            "is_boilerplate": true
          },
          {
            "text": "No keyboard trap Focus enters a component and cannot leave it.",
            "is_boilerplate": true
          },
          {
            "text": "Focus can leave every component through a standard or documented method.",
            "is_boilerplate": true
          },
          {
            "text": "Video and key sequence.",
            "is_boilerplate": true
          },
          {
            "text": "2.1.2 (A) 7 · Scripts; 12 · Navigation",
            "is_boilerplate": true
          },
          {
            "text": "Blocking",
            "is_boilerplate": true
          },
          {
            "text": "A11Y15",
            "is_boilerplate": true
          },
          {
            "text": "Keyboard and focus",
            "is_boilerplate": true
          },
          {
            "text": "Visible and unobscured focus The user loses their position or focus is covered.",
            "is_boilerplate": true
          },
          {
            "text": "Every focused control is perceptible and not entirely hidden by fixed content.",
            "is_boilerplate": true
          },
          {
            "text": "Video or screenshots for each component family.",
            "is_boilerplate": true
          },
          {
            "text": "2.4.7 (AA); 2.4.11 (AA) 10 · Présentation; 12 · Navigation",
            "is_boilerplate": true
          },
          {
            "text": "High",
            "is_boilerplate": true
          },
          {
            "text": "A11Y16",
            "is_boilerplate": true
          },
          {
            "text": "Keyboard and focus",
            "is_boilerplate": true
          },
          {
            "text": "Logical focus order Reading and actions follow an incoherent order.",
            "is_boilerplate": true
          },
          {
            "text": "Sequential focus preserves meaning and operation; no positive tabindex forces it artificially.",
            "is_boilerplate": true
          },
          {
            "text": "Numbered focus log and DOM extract.",
            "is_boilerplate": true
          },
          {
            "text": "2.4.3 (A) 12 · Navigation",
            "is_boilerplate": true
          },
          {
            "text": "High",
            "is_boilerplate": true
          },
          {
            "text": "A11Y17",
            "is_boilerplate": true
          },
          {
            "text": "Components and states",
            "is_boilerplate": true
          },
          {
            "text": "Accessible name aligned with visible label Voice control cannot find the displayed control.",
            "is_boilerplate": true
          },
          {
            "text": "The accessible name contains the visible action text in a useful matching order.",
            "is_boilerplate": true
          },
          {
            "text": "Screenshot and accessibility tree.",
            "is_boilerplate": true
          },
          {
            "text": "2.5.3 (A) 7 · Scripts",
            "is_boilerplate": true
          },
          {
            "text": "High",
            "is_boilerplate": true
          },
          {
            "text": "A11Y18",
            "is_boilerplate": true
          },
          {
            "text": "Components and states",
            "is_boilerplate": true
          },
          {
            "text": "Programmatic name, role, value and state The component is announced without a function or state.",
            "is_boilerplate": true
          },
          {
            "text": "Each component exposes a name, role and, where needed, an updated value or state.",
            "is_boilerplate": true
          },
          {
            "text": "Two accessibility-tree captures.",
            "is_boilerplate": true
          },
          {
            "text": "4.1.2 (A) 7 · Scripts",
            "is_boilerplate": true
          },
          {
            "text": "Blocking",
            "is_boilerplate": true
          },
          {
            "text": "A11Y19",
            "is_boilerplate": true
          },
          {
            "text": "Components and states",
            "is_boilerplate": true
          },
          {
            "text": "Focus management for dialogs and panels Context changes without orientation or background content remains active.",
            "is_boilerplate": true
          },
          {
            "text": "On open, focus enters the component; it stays when required; on close, it returns to a logical point.",
            "is_boilerplate": true
          },
          {
            "text": "Keyboard video and accessibility tree.",
            "is_boilerplate": true
          },
          {
            "text": "2.4.3 (A); 2.1.2 (A); 4.1.2 (A) 7 · Scripts; 12 · Navigation",
            "is_boilerplate": true
          },
          {
            "text": "Blocking",
            "is_boilerplate": true
          },
          {
            "text": "A11Y20",
            "is_boilerplate": true
          },
          {
            "text": "Components and states",
            "is_boilerplate": true
          },
          {
            "text": "Announced status messages Success, error or update feedback remains invisible to speech output.",
            "is_boilerplate": true
          },
          {
            "text": "Important messages are exposed without unnecessarily moving focus.",
            "is_boilerplate": true
          },
          {
            "text": "Screen-reader log and DOM extract.",
            "is_boilerplate": true
          },
          {
            "text": "4.1.3 (AA) 7 · Scripts; 11 · Formulaires",
            "is_boilerplate": true
          },
          {
            "text": "High",
            "is_boilerplate": true
          },
          {
            "text": "A11Y21",
            "is_boilerplate": true
          },
          {
            "text": "Forms and errors",
            "is_boilerplate": true
          },
          {
            "text": "Explicit label for every field The expected data must be guessed.",
            "is_boilerplate": true
          },
          {
            "text": "Each field has a persistent, correctly associated and sufficiently precise label.",
            "is_boilerplate": true
          },
          {
            "text": "Screenshot and DOM extract.",
            "is_boilerplate": true
          },
          {
            "text": "1.3.1 (A); 3.3.2 (A) 11 · Formulaires",
            "is_boilerplate": true
          },
          {
            "text": "Blocking",
            "is_boilerplate": true
          },
          {
            "text": "A11Y22",
            "is_boilerplate": true
          },
          {
            "text": "Forms and errors",
            "is_boilerplate": true
          },
          {
            "text": "Identifiable purpose for personal-data fields Input assistance and autocomplete cannot work correctly.",
            "is_boilerplate": true
          },
          {
            "text": "Common personal-data fields use a valid autocomplete token when their purpose is known.",
            "is_boilerplate": true
          },
          {
            "text": "DOM report of input attributes.",
            "is_boilerplate": true
          },
          {
            "text": "1.3.5 (AA) 11 · Formulaires",
            "is_boilerplate": true
          },
          {
            "text": "Medium",
            "is_boilerplate": true
          },
          {
            "text": "A11Y23",
            "is_boilerplate": true
          },
          {
            "text": "Forms and errors",
            "is_boilerplate": true
          },
          {
            "text": "Errors identified and linked to fields The user knows submission failed but not where or why.",
            "is_boilerplate": true
          },
          {
            "text": "The error is named, located, linked to the field and announced; correct data is retained.",
            "is_boilerplate": true
          },
          {
            "text": "Video, screenshot and accessibility tree.",
            "is_boilerplate": true
          },
          {
            "text": "3.3.1 (A); 3.3.3 (AA) 11 · Formulaires",
            "is_boilerplate": true
          },
          {
            "text": "Blocking",
            "is_boilerplate": true
          },
          {
            "text": "A11Y24",
            "is_boilerplate": true
          },
          {
            "text": "Forms and errors",
            "is_boilerplate": true
          },
          {
            "text": "Prevention and confirmation for sensitive actions A legal, financial or irreversible action is confirmed by mistake.",
            "is_boilerplate": true
          },
          {
            "text": "The user can review, correct or confirm before finalisation and receives usable confirmation.",
            "is_boilerplate": true
          },
          {
            "text": "Journey video and confirmation screenshot.",
            "is_boilerplate": true
          },
          {
            "text": "3.3.4 (AA) 11 · Formulaires",
            "is_boilerplate": true
          },
          {
            "text": "Blocking",
            "is_boilerplate": true
          },
          {
            "text": "A11Y25",
            "is_boilerplate": true
          },
          {
            "text": "Media, motion and time",
            "is_boilerplate": true
          },
          {
            "text": "Captions for prerecorded video Audio content is inaccessible to deaf or hard-of-hearing users.",
            "is_boilerplate": true
          },
          {
            "text": "Speech and meaningful sounds are available in synchronised, reviewed captions.",
            "is_boilerplate": true
          },
          {
            "text": "Video excerpt and caption file.",
            "is_boilerplate": true
          },
          {
            "text": "1.2.2 (A) 4 · Multimédia",
            "is_boilerplate": true
          },
          {
            "text": "High",
            "is_boilerplate": true
          },
          {
            "text": "A11Y26",
            "is_boilerplate": true
          },
          {
            "text": "Media, motion and time",
            "is_boilerplate": true
          },
          {
            "text": "Alternative for essential visual or audio content A demonstration, chart or meaningful sound has no equivalent.",
            "is_boilerplate": true
          },
          {
            "text": "A transcript, audio description or text alternative conveys the necessary information for the medium.",
            "is_boilerplate": true
          },
          {
            "text": "Transcript or alternative track linked to the media.",
            "is_boilerplate": true
          },
          {
            "text": "1.2.3 (A); 1.2.5 (AA) 4 · Multimédia",
            "is_boilerplate": true
          },
          {
            "text": "High",
            "is_boilerplate": true
          },
          {
            "text": "A11Y27",
            "is_boilerplate": true
          },
          {
            "text": "Media, motion and time",
            "is_boilerplate": true
          },
          {
            "text": "Control of autoplay, motion and timing Content disrupts reading or expires before the action is complete.",
            "is_boilerplate": true
          },
          {
            "text": "Automatic audio can be stopped; long animations can be paused; time limits can be controlled, subject to exceptions.",
            "is_boilerplate": true
          },
          {
            "text": "Video and timed test log.",
            "is_boilerplate": true
          },
          {
            "text": "1.4.2 (A); 2.2.1 (A); 2.2.2 (A) 4 · Multimédia; 13 · Consultation",
            "is_boilerplate": true
          },
          {
            "text": "Blocking",
            "is_boilerplate": true
          },
          {
            "text": "A11Y28",
            "is_boilerplate": true
          },
          {
            "text": "Media, motion and time",
            "is_boilerplate": true
          },
          {
            "text": "Safe flashing and controllable motion Flashing or automatically moving content causes discomfort, loss of focus or neurological risk.",
            "is_boilerplate": true
          },
          {
            "text": "No content flashes more than three times per second and any automatic animation lasting more than five seconds can be paused, stopped or hidden.",
            "is_boilerplate": true
          },
          {
            "text": "Scenario video and flashing measurement report where applicable.",
            "is_boilerplate": true
          },
          {
            "text": "2.2.2 (A); 2.3.1 (A) 13 · Consultation",
            "is_boilerplate": true
          },
          {
            "text": "High",
            "is_boilerplate": true
          },
          {
            "text": "A11Y29",
            "is_boilerplate": true
          },
          {
            "text": "Adaptation and robustness",
            "is_boilerplate": true
          },
          {
            "text": "Orientation not restricted The service becomes unusable on a device fixed in one orientation.",
            "is_boilerplate": true
          },
          {
            "text": "Content works in portrait and landscape unless orientation is essential.",
            "is_boilerplate": true
          },
          {
            "text": "Two screenshots and test log.",
            "is_boilerplate": true
          },
          {
            "text": "1.3.4 (AA) 13 · Consultation",
            "is_boilerplate": true
          },
          {
            "text": "High",
            "is_boilerplate": true
          },
          {
            "text": "A11Y30",
            "is_boilerplate": true
          },
          {
            "text": "Adaptation and robustness",
            "is_boilerplate": true
          },
          {
            "text": "Sufficiently large touch targets An action is difficult to trigger accurately on mobile.",
            "is_boilerplate": true
          },
          {
            "text": "Targets reach 24 × 24 CSS px or meet an exception in WCAG 2.5.8.",
            "is_boilerplate": true
          },
          {
            "text": "Annotated screenshot with CSS dimensions.",
            "is_boilerplate": true
          },
          {
            "text": "2.5.8 (AA) 10 · Présentation; 13 · Consultation",
            "is_boilerplate": true
          },
          {
            "text": "Medium",
            "is_boilerplate": true
          },
          {
            "text": "A11Y31",
            "is_boilerplate": true
          },
          {
            "text": "Adaptation and robustness",
            "is_boilerplate": true
          },
          {
            "text": "Consistent navigation and components The same element changes name, position or behaviour without reason.",
            "is_boilerplate": true
          },
          {
            "text": "Repeated navigation keeps a consistent order and identical components are identified consistently.",
            "is_boilerplate": true
          },
          {
            "text": "Comparison table and screenshots.",
            "is_boilerplate": true
          },
          {
            "text": "3.2.3 (AA); 3.2.4 (AA) 12 · Navigation",
            "is_boilerplate": true
          },
          {
            "text": "Medium",
            "is_boilerplate": true
          },
          {
            "text": "A11Y32",
            "is_boilerplate": true
          },
          {
            "text": "Adaptation and robustness",
            "is_boilerplate": true
          },
          {
            "text": "Coherent programmatic reading order Visual reordering disconnects reading, meaning and action.",
            "is_boilerplate": true
          },
          {
            "text": "At each viewport, DOM order and assistive-technology output preserve the meaning of content and instructions.",
            "is_boilerplate": true
          },
          {
            "text": "Annotated capture, DOM extract and reading log.",
            "is_boilerplate": true
          },
          {
            "text": "1.3.2 (A) 9 · Structuration; 10 · Présentation",
            "is_boilerplate": true
          },
          {
            "text": "High",
            "is_boilerplate": true
          },
          {
            "text": "A11Y33",
            "is_boilerplate": true
          },
          {
            "text": "Keyboard and focus",
            "is_boilerplate": true
          },
          {
            "text": "Alternative to dragging movements An action requires precise drag-and-drop that a person cannot perform.",
            "is_boilerplate": true
          },
          {
            "text": "Any function based on dragging can also be completed with a single-pointer action, unless dragging is essential.",
            "is_boilerplate": true
          },
          {
            "text": "Video comparing the dragging gesture with its single-action alternative.",
            "is_boilerplate": true
          },
          {
            "text": "2.5.7 (AA) 7 · Scripts — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2",
            "is_boilerplate": true
          },
          {
            "text": "High",
            "is_boilerplate": true
          },
          {
            "text": "A11Y34",
            "is_boilerplate": true
          },
          {
            "text": "Adaptation and robustness",
            "is_boilerplate": true
          },
          {
            "text": "Consistent help across pages The way to obtain help changes position or order and becomes difficult to find.",
            "is_boilerplate": true
          },
          {
            "text": "When a help mechanism repeats across pages, it keeps the same relative order unless the user initiated the change.",
            "is_boilerplate": true
          },
          {
            "text": "Comparison table of help-mechanism order and dated screenshots.",
            "is_boilerplate": true
          },
          {
            "text": "3.2.6 (A) 12 · Navigation — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2",
            "is_boilerplate": true
          },
          {
            "text": "Medium",
            "is_boilerplate": true
          },
          {
            "text": "A11Y35",
            "is_boilerplate": true
          },
          {
            "text": "Forms and errors",
            "is_boilerplate": true
          },
          {
            "text": "Redundant entry avoided Information already supplied must be entered again in the same process.",
            "is_boilerplate": true
          },
          {
            "text": "Previously supplied information is auto-populated or available for selection, except for security, necessity or invalid-data exceptions.",
            "is_boilerplate": true
          },
          {
            "text": "Full-journey video and inventory of repeated fields with documented exceptions.",
            "is_boilerplate": true
          },
          {
            "text": "3.3.7 (A) 11 · Formulaires — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2",
            "is_boilerplate": true
          },
          {
            "text": "High",
            "is_boilerplate": true
          },
          {
            "text": "A11Y36",
            "is_boilerplate": true
          },
          {
            "text": "Forms and errors",
            "is_boilerplate": true
          },
          {
            "text": "Accessible authentication Signing in requires a cognitive test, memorisation or transcription without an alternative.",
            "is_boilerplate": true
          },
          {
            "text": "Authentication does not require a cognitive-function test, or provides an alternative, assistance mechanism, or object/personal-content recognition covered by WCAG exceptions.",
            "is_boilerplate": true
          },
          {
            "text": "Authentication-journey video, inventory of cognitive requirements and documented exceptions.",
            "is_boilerplate": true
          },
          {
            "text": "3.3.8 (AA) 11 · Formulaires — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2",
            "is_boilerplate": true
          },
          {
            "text": "Blocking",
            "is_boilerplate": true
          },
          {
            "text": "Execution",
            "is_boilerplate": true
          },
          {
            "text": "An actionable check connects six fields: scope, scenario, result, evidence, status and owner.",
            "is_boilerplate": true
          },
          {
            "text": "“Check the keyboard” is not evidence. A scenario must name the page, viewport, initial state, keys used and action to complete. The expected result must be observable. The evidence must allow a third party to replay or challenge the conclusion.",
            "is_boilerplate": false
          },
          {
            "text": "Vague check",
            "is_boilerplate": false
          },
          {
            "text": "“The menu is keyboard accessible.” No journey, evidence or environment.",
            "is_boilerplate": false
          },
          {
            "text": "Status: pass\nEvidence: none\nConclusion: cannot be replayed",
            "is_boilerplate": true
          },
          {
            "text": "Replayable check",
            "is_boilerplate": true
          },
          {
            "text": "A11Y13 · Mobile menu · Chrome 140 · 390 × 844 · keyboard only.",
            "is_boilerplate": true
          },
          {
            "text": "1. Tab to the Menu button\n2. Press Enter to open\n3. Tab through every link\n4. Press Escape to close\n5. Check focus returns\nEvidence: video + dated log\nStatus: Pass / Fail / Not tested / Not applicable",
            "is_boilerplate": true
          },
          {
            "text": "Controlled status",
            "is_boilerplate": true
          },
          {
            "text": "Severity describes the impact of a defect. Status describes the test result. Release blocking is a governance decision. The three are not merged.",
            "is_boilerplate": false
          },
          {
            "text": "Prioritisation",
            "is_boilerplate": false
          },
          {
            "text": "Fix first what prevents people from perceiving, navigating or completing the action.",
            "is_boilerplate": false
          },
          {
            "text": "Edikka foundation severity vocabulary",
            "is_boilerplate": false
          },
          {
            "text": "Severity",
            "is_boilerplate": false
          },
          {
            "text": "Definition",
            "is_boilerplate": false
          },
          {
            "text": "Example",
            "is_boilerplate": false
          },
          {
            "text": "Expected decision",
            "is_boilerplate": false
          },
          {
            "text": "Blocking",
            "is_boilerplate": false
          },
          {
            "text": "The critical journey cannot be completed or essential information disappears.",
            "is_boilerplate": false
          },
          {
            "text": "Keyboard-inoperable form; field without label; unlocated error.",
            "is_boilerplate": false
          },
          {
            "text": "Fix before release or document a no-go decision.",
            "is_boilerplate": false
          },
          {
            "text": "High",
            "is_boilerplate": false
          },
          {
            "text": "The journey remains possible but creates major difficulty or uncertainty.",
            "is_boilerplate": false
          },
          {
            "text": "Poorly visible focus; insufficient contrast; repeated ambiguous link.",
            "is_boilerplate": false
          },
          {
            "text": "Fix in the priority batch and retest.",
            "is_boilerplate": false
          },
          {
            "text": "Medium",
            "is_boilerplate": false
          },
          {
            "text": "The friction is real but does not alone block the main objective.",
            "is_boilerplate": false
          },
          {
            "text": "Small touch target; inconsistent name for a secondary component.",
            "is_boilerplate": false
          },
          {
            "text": "Plan, assign and verify non-regression.",
            "is_boilerplate": false
          },
          {
            "text": "Automation and people",
            "is_boilerplate": false
          },
          {
            "text": "Tools detect symptoms; human journeys establish impact.",
            "is_boilerplate": false
          },
          {
            "text": "A validator can find a missing attribute, measurable contrast or an empty accessible name. It cannot always decide whether an alternative conveys the right meaning, whether an error message actually helps or whether focus returns to the right context. The method therefore requires a bounded human replay with assistive technology, without turning it into a standalone WCAG criterion.",
            "is_boilerplate": false
          },
          {
            "text": "The minimum combination is HTML and DOM validation, automated audit, keyboard testing, reflow, contrast, accessibility tree and a screen-reader journey. Environment, date and limitations must accompany the result.",
            "is_boilerplate": true
          },
          {
            "text": "Go deeper",
            "is_boilerplate": true
          },
          {
            "text": "Move from foundation to real audit",
            "is_boilerplate": true
          },
          {
            "text": "Specialised pages explain score limits, sampling and human testing.",
            "is_boilerplate": true
          },
          {
            "text": "01AutomationWhy Lighthouse 100 does not prove accessibility",
            "is_boilerplate": true
          },
          {
            "text": "02Human auditWhat automated tools fail to see",
            "is_boilerplate": true
          },
          {
            "text": "03Edikka evidenceRead the public scope and evidence",
            "is_boilerplate": true
          },
          {
            "text": "Project cycle",
            "is_boilerplate": true
          },
          {
            "text": "Accessibility is decided before mockups and replayed after launch.",
            "is_boilerplate": true
          },
          {
            "text": "01",
            "is_boilerplate": true
          },
          {
            "text": "Scope",
            "is_boilerplate": true
          },
          {
            "text": "Qualify service, users and critical journeys.",
            "is_boilerplate": true
          },
          {
            "text": "Legal scope and test scope are separate decisions.",
            "is_boilerplate": true
          },
          {
            "text": "02",
            "is_boilerplate": true
          },
          {
            "text": "Design",
            "is_boilerplate": true
          },
          {
            "text": "Define states, errors, content and interactions before pixels.",
            "is_boilerplate": true
          },
          {
            "text": "A mockup must show focus, errors, confirmations and responsive variants.",
            "is_boilerplate": true
          },
          {
            "text": "03",
            "is_boilerplate": true
          },
          {
            "text": "Components",
            "is_boilerplate": true
          },
          {
            "text": "Code behaviours in the design system.",
            "is_boilerplate": true
          },
          {
            "text": "A fix to a button, dialog or field should benefit every instance.",
            "is_boilerplate": true
          },
          {
            "text": "04",
            "is_boilerplate": true
          },
          {
            "text": "Content",
            "is_boilerplate": true
          },
          {
            "text": "Name headings, links, alternatives and instructions.",
            "is_boilerplate": true
          },
          {
            "text": "Semantics are not a technical wrapper: they carry published meaning.",
            "is_boilerplate": true
          },
          {
            "text": "05",
            "is_boilerplate": true
          },
          {
            "text": "Acceptance",
            "is_boilerplate": true
          },
          {
            "text": "Replay the 36 applicable checks.",
            "is_boilerplate": true
          },
          {
            "text": "Each defect receives evidence, severity, owner and retest.",
            "is_boilerplate": true
          },
          {
            "text": "06",
            "is_boilerplate": true
          },
          {
            "text": "Production",
            "is_boilerplate": true
          },
          {
            "text": "Monitor journeys and regressions.",
            "is_boilerplate": true
          },
          {
            "text": "A page accessible today can break with the next component, content update or third-party script.",
            "is_boilerplate": true
          },
          {
            "text": "Cluster architecture",
            "is_boilerplate": true
          },
          {
            "text": "One question, one reference page: the foundation routes without repeating everything.",
            "is_boilerplate": true
          },
          {
            "text": "Choose the right depth",
            "is_boilerplate": true
          },
          {
            "text": "From first check to public evidence",
            "is_boilerplate": true
          },
          {
            "text": "Each resource keeps a distinct role to avoid cannibalisation and contradictory answers.",
            "is_boilerplate": true
          },
          {
            "text": "01ObligationsRGAA, WCAG and EAA: qualify the framework",
            "is_boilerplate": true
          },
          {
            "text": "02ConversionAccessible forms and lost leads",
            "is_boilerplate": true
          },
          {
            "text": "03StructureAccessibility, SEO and AI: semantic HTML",
            "is_boilerplate": true
          },
          {
            "text": "04StatementEdikka accessibility status and evidence",
            "is_boilerplate": true
          },
          {
            "text": "Open assets",
            "is_boilerplate": true
          },
          {
            "text": "Download, replay, challenge and improve the method.",
            "is_boilerplate": false
          },
          {
            "text": "The assets are free, require no form and use a CC BY 4.0 licence. You may adapt and redistribute them with attribution to Edikka and the canonical URL. The XLSX supports teamwork; JSON is the machine source; Markdown exposes a stable text edition.",
            "is_boilerplate": false
          },
          {
            "text": "Resources",
            "is_boilerplate": true
          },
          {
            "text": "Three formats, one v1.0 method",
            "is_boilerplate": true
          },
          {
            "text": "Counts, identifiers and checks come from the same versioned source.",
            "is_boilerplate": true
          },
          {
            "text": "01XLSXReady-to-use grid · French and English",
            "is_boilerplate": true
          },
          {
            "text": "02JSONVersioned bilingual machine source",
            "is_boilerplate": true
          },
          {
            "text": "03MarkdownPublic, citable text edition",
            "is_boilerplate": true
          },
          {
            "text": "Primary sources",
            "is_boilerplate": true
          },
          {
            "text": "The Edikka method links back to the standards it does not replace.",
            "is_boilerplate": true
          },
          {
            "text": "Reviewed 25 August 2026",
            "is_boilerplate": true
          },
          {
            "text": "Reference standards and methods",
            "is_boilerplate": true
          },
          {
            "text": "Normative criteria remain those published by the source organisations.",
            "is_boilerplate": true
          },
          {
            "text": "01Primary sourceWCAG 2.2 · W3C Recommendation (opens in a new tab)",
            "is_boilerplate": true
          },
          {
            "text": "02Primary sourceRGAA 4.1.2 · Critères et tests (opens in a new tab)",
            "is_boilerplate": true
          },
          {
            "text": "03Primary sourceWCAG-EM · Website Accessibility Conformance Evaluation Methodology (opens in a new tab)",
            "is_boilerplate": true
          },
          {
            "text": "04Primary sourceDGCCRF · Directive accessibilité (opens in a new tab)",
            "is_boilerplate": true
          },
          {
            "text": "Version and integrity",
            "is_boilerplate": true
          },
          {
            "text": "A citable, dated method that can be verified down to each file.",
            "is_boilerplate": true
          },
          {
            "text": "Version 1.0 · published and reviewed 25 August 2026 · next review 25 November 2026. Changelog: first public bilingual release of the 36-check foundation.",
            "is_boilerplate": true
          },
          {
            "text": "Recommended citation: Edikka, “Professional website accessibility foundation · v1.0”, 25 August 2026, with a link to the canonical URL. No DOI is claimed until a persistent third-party repository assigns one.",
            "is_boilerplate": true
          },
          {
            "text": "SHA-256 fingerprints",
            "is_boilerplate": true
          },
          {
            "text": "These fingerprints verify that downloaded JSON and XLSX files match the assets cited by this edition.",
            "is_boilerplate": true
          },
          {
            "text": "JSON 8fdfeddda1f94f427e54274a90003a7e824f15a5304ceeba2a9509453c5e31cd\nXLSX f869d70bef0b716070d7af9b6f8f1354e5d969574ea3bb890226dd7df29aeb90",
            "is_boilerplate": true
          },
          {
            "text": "Voluntary limit",
            "is_boilerplate": true
          },
          {
            "text": "Edikka is a web agency: this grid is a published working method, not an independent standard.",
            "is_boilerplate": false
          },
          {
            "text": "We use this grid to scope, design and accept websites. We therefore have a commercial interest in demonstrating the quality of the method. To make that conflict visible, we publish the selection rule, limits, sources, checks and reusable formats.",
            "is_boilerplate": false
          },
          {
            "text": "The foundation does not cover every applicable criterion, calculate an RGAA rate, certify any website or guarantee legal compliance, absence of barriers, SEO ranking or AI citation. Clear structure makes a page more reliable to read; visibility depends on other signals.",
            "is_boilerplate": false
          },
          {
            "text": "Conclusion",
            "is_boilerplate": false
          },
          {
            "text": "Start with a real journey, an observable barrier and replayable evidence.",
            "is_boilerplate": false
          },
          {
            "text": "Accessibility does not progress when a team adds a score to a dashboard. It progresses when a person can complete an action that was previously impossible, the fix is carried by the right component and a third party can replay the test.",
            "is_boilerplate": false
          },
          {
            "text": "Choose a critical journey, run the 36 applicable checks, retain evidence, fix blockers and retest. Then expand the scope with a full audit method when the objective becomes conformance.",
            "is_boilerplate": false
          },
          {
            "text": "Decision",
            "is_boilerplate": false
          },
          {
            "text": "Do not publish “accessible” because a tool is green. Publish what was tested, how, when, with what evidence and what limitations.",
            "is_boilerplate": false
          },
          {
            "text": "Edikka vision",
            "is_boilerplate": false
          },
          {
            "text": "Accessibility becomes credible when design, content and code share the same evidence.",
            "is_boilerplate": false
          },
          {
            "text": "A check is not a box. It is an observable commitment: a person can complete the action, the fix holds in the component and the result can be replayed.",
            "is_boilerplate": false
          },
          {
            "text": "01Use",
            "is_boilerplate": false
          },
          {
            "text": "Start from the real journey",
            "is_boilerplate": false
          },
          {
            "text": "Priority comes from what a user must perceive, understand and complete—not from what is easiest to measure.",
            "is_boilerplate": false
          },
          {
            "text": "02System",
            "is_boilerplate": false
          },
          {
            "text": "Fix at the source",
            "is_boilerplate": false
          },
          {
            "text": "An accessible, documented and tested component prevents the same defect from being repaired page by page.",
            "is_boilerplate": false
          },
          {
            "text": "03Evidence",
            "is_boilerplate": false
          },
          {
            "text": "Name what remains unknown",
            "is_boilerplate": false
          },
          {
            "text": "Not tested, not applicable and fail are useful information. Hiding them destroys trust.",
            "is_boilerplate": false
          },
          {
            "text": "Remember",
            "is_boilerplate": false
          },
          {
            "text": "Premium quality does not make accessibility invisible. It embeds its requirements in every design decision.",
            "is_boilerplate": false
          },
          {
            "text": "Article FAQ",
            "is_boilerplate": true
          },
          {
            "text": "Go further on this topic",
            "is_boilerplate": false
          },
          {
            "text": "Additional answers to clarify the key points covered in this article.",
            "is_boilerplate": true
          },
          {
            "text": "10 selected questions View all FAQs+",
            "is_boilerplate": true
          },
          {
            "text": "Web accessibility means designing content, interfaces and journeys so people can perceive information, understand the interface, navigate and act, including with a keyboard or assistive technology.",
            "is_boilerplate": false
          },
          {
            "text": "Disabled people, as well as users on the move, using magnification, on a degraded connection, with a temporary injury, or in a context that limits attention, vision, hearing or dexterity.",
            "is_boilerplate": false
          },
          {
            "text": "No. The foundation supports an initial diagnosis of a journey. A conformance claim requires a defined scope, representative sample, every applicable criterion and documented human testing.",
            "is_boilerplate": false
          },
          {
            "text": "WCAG 2.2 defines international success criteria. RGAA 4.1.2 provides a French operational test method. The EAA creates European obligations for selected products and services. Applicability depends on the entity, service and context.",
            "is_boilerplate": false
          },
          {
            "text": "Connect semantic HTML, accessibility and SEO",
            "is_boilerplate": true
          },
          {
            "text": "No. Automated scoring covers only part of the rules tools can detect. It does not prove the quality of an alternative, keyboard journey usability or complete screen-reader behaviour.",
            "is_boilerplate": true
          },
          {
            "text": "Choose a critical journey, define the test environment, run applicable checks, retain evidence, assign fixes and replay the exact same scenario.",
            "is_boilerplate": true
          },
          {
            "text": "Replayable evidence names the page, state, viewport, browser, technology, steps, observed result, date and limitations. A third party must be able to reproduce or challenge the conclusion.",
            "is_boilerplate": true
          },
          {
            "text": "Start with findings that remove essential information or prevent completion of a critical journey. Keep severity, test status and release-blocking decisions separate.",
            "is_boilerplate": true
          },
          {
            "text": "Yes for critical journeys and components that expose a name, role, value, state or dynamic message. Screen-reader testing complements keyboard testing and accessibility-tree inspection.",
            "is_boilerplate": true
          },
          {
            "text": "When you need a conformance claim, accessibility statement, whole-service coverage, contractual or legal evidence, or when the diagnosis uncovers components and journeys that require broader sampling.",
            "is_boilerplate": true
          },
          {
            "text": "Web solutions designed to perform",
            "is_boilerplate": true
          },
          {
            "text": "Strategy. Design. Code. SEO. AI. Clearer, faster, and more compelling digital experiences.",
            "is_boilerplate": true
          },
          {
            "text": "Let’s talk about your project View our projects",
            "is_boilerplate": true
          },
          {
            "text": "Insights",
            "is_boilerplate": true
          },
          {
            "text": "All insights",
            "is_boilerplate": true
          },
          {
            "text": "Digital strategy",
            "is_boilerplate": true
          },
          {
            "text": "UX/UI design",
            "is_boilerplate": true
          },
          {
            "text": "Web development",
            "is_boilerplate": true
          },
          {
            "text": "SEO",
            "is_boilerplate": true
          },
          {
            "text": "AI and web automation",
            "is_boilerplate": true
          },
          {
            "text": "Web development Optimize",
            "is_boilerplate": true
          },
          {
            "text": "Accessible forms : how many leads does your site lose ?",
            "is_boilerplate": true
          },
          {
            "text": "Read the analysis→",
            "is_boilerplate": true
          },
          {
            "text": "Web development Advanced",
            "is_boilerplate": true
          },
          {
            "text": "RGAA, WCAG, EAA in plain English : the executive guide to digital accessibility",
            "is_boilerplate": true
          },
          {
            "text": "Read the analysis→",
            "is_boilerplate": true
          },
          {
            "text": "Web development Optimize",
            "is_boilerplate": true
          },
          {
            "text": "Lighthouse 100 does not prove a site is accessible",
            "is_boilerplate": true
          },
          {
            "text": "Read the analysis→",
            "is_boilerplate": true
          },
          {
            "text": "Web development Advanced",
            "is_boilerplate": true
          },
          {
            "text": "Technical SEO : a verifiable audit protocol for a website’s foundations",
            "is_boilerplate": true
          },
          {
            "text": "Read the analysis→",
            "is_boilerplate": true
          },
          {
            "text": "Web development Advanced",
            "is_boilerplate": true
          },
          {
            "text": "Web image optimisation : verifiable protocol, formats, LCP and perceptual quality",
            "is_boilerplate": true
          },
          {
            "text": "Read the analysis→",
            "is_boilerplate": true
          },
          {
            "text": "Web development Understand",
            "is_boilerplate": true
          },
          {
            "text": "Front-end vs Back-end : A Simple Explanation",
            "is_boilerplate": true
          },
          {
            "text": "Read the analysis→",
            "is_boilerplate": true
          },
          {
            "text": "+ Explore",
            "is_boilerplate": true
          },
          {
            "text": "Verifiable quality",
            "is_boilerplate": true
          },
          {
            "text": "Technical foundations you can verify.",
            "is_boilerplate": true
          },
          {
            "text": "Opens in a new tab.Performance Analysis of loading speed, Core Web Vitals and best practices. PageSpeed ↗Opens in a new tab.Rich data Verification of schema.org markup usable by Google. Rich Results ↗Opens in a new tab.HTML structure Check of document validity and markup quality. HTML Validator ↗Opens in a new tab.Accessibility Detection of issues that may affect navigation or readability. WAVE ↗",
            "is_boilerplate": true
          },
          {
            "text": "Analyzed page:/en/insights/web-development/web-accessibility-professional-website-basics",
            "is_boilerplate": true
          },
          {
            "text": "94, boulevard Barbès 75018 Paris - FRANCE",
            "is_boilerplate": true
          },
          {
            "text": "+33 (0)1 48 56 83 07",
            "is_boilerplate": true
          },
          {
            "text": "Insights.",
            "is_boilerplate": true
          },
          {
            "text": "Library.",
            "is_boilerplate": true
          },
          {
            "text": "FAQ.",
            "is_boilerplate": true
          },
          {
            "text": "Expertise",
            "is_boilerplate": true
          },
          {
            "text": "Website redesign",
            "is_boilerplate": true
          },
          {
            "text": "Collaborations",
            "is_boilerplate": true
          },
          {
            "text": "Contact us",
            "is_boilerplate": true
          },
          {
            "text": "© 2026Digital agency founded by Bertrand Morel",
            "is_boilerplate": true
          },
          {
            "text": "Privacy PolicyLegal NoticeAccessibility",
            "is_boilerplate": true
          }
        ],
        "status": "ok"
      },
      "html2text": {
        "tool": "html2text",
        "version": "2025.4.15",
        "markdown": "Skip to content\n\n[ ](/en)\n\n  * [ The agency  ](/en/agency)\n  * [ Expertise  ](/en/expertise)\n\n[ Expertise Create. Optimize. Convert. A precise, elegant, results-driven digital approach.  All expertise  →  ](/en/expertise)\n    * [ → Digital  \nstrategy Positioning, user journeys, acquisition, and growth. ](/en/expertise/digital-strategy)\n    * [ → Experience   \n& design Elegant, readable interfaces designed to convert. ](/en/expertise/ux-ui-design)\n    * [ → Web   \ndevelopment Fast, robust, maintainable code. ](/en/expertise/web-development)\n    * [ → SEO   \n& AI visibility SEO, GEO, editorial structure, and long-term performance. ](/en/expertise/seo)\n[ 21 **Open instrument library** Protocols, grids and datasets supporting our expertise. → ](/en/library)\n\n  * [ Projects  ](/en/projects)\n  * [ AI  ](/en/expertise/ai)\n  * [ Contact  ](/en/contact)\n\n\n\n[ FR ](https://www.edikka.com/insights/developpement-web/accessibilite-web-bases-site-professionnel) EN \n\nMenu\n\n  * [ Agency → ](/en/agency)\n  * [ Expertise → ](/en/expertise)\n    * [ Digital strategy Positioning & growth ](/en/expertise/digital-strategy)\n    * [ Experience & design Interfaces & conversion ](/en/expertise/ux-ui-design)\n    * [ Web development Fast & robust code ](/en/expertise/web-development)\n    * [ SEO & AI visibility Structure & performance ](/en/expertise/seo)\n    * [ 21 Open instrument library Instruments & evidence ](/en/library)\n  * [ AI  Automation ](/en/expertise/ai)\n  * [ Projects → ](/en/projects)\n  * [ Insights → ](/en/insights)\n  * [ Contact → ](/en/contact)\n\n\n\n  1. [Home](/en)\n  2. [Insights](/en/insights)\n  3. [Web development](/en/insights/web-development)\n  4. Web accessibility: 36 essential checks\n\n\n\nInsights \n\nWeb development\n\nLevel: Optimize \n\n# Web accessibility: 36 essential checks for a professional website\n\nA verifiable foundation: 36 checks, 8 families, acceptance criteria, evidence and explicit limits.\n\nEstimated reading time:  13:35\n\nSummary\n\n  1. 01  Short answer\n  2. 02  Foundation scope\n  3. 03  Selection rule\n  4. 04  8 families\n  5. 05  36 checks\n  6. 06  Run a check\n  7. 07  Prioritise\n  8. 08  Tools and people\n  9. 09  Project workflow\n  10. 10  Cluster journey\n  11. 11  Open assets\n  12. 12  Sources\n  13. 13  Version and integrity\n  14. 14  Voluntary limit\n  15. 15  Conclusion\n\n\n\n![Web accessibility: the essentials for a professional website](/docbd/article/big/accessibilite-web-les-bases-a-respecter-sur-un-site-professionnel.jpg)\n\nWhere should a professional website start with accessibility? This open method turns 36 frequent barriers into replayable checks, evidence and decisions—without confusing a foundation, a full audit and legal conformance. \n\nEdikka insight \n\nUse this analysis. \n\nSummarize the article with AI, share it with your team or turn it into a prioritized action plan for your website. \n\n[ Analysis by **Bertrand Morel** Founder of Edikka, digital strategy, UX/UI, web development, SEO and AI visibility. ](/en/agency/bertrand-morel)\n\nCreated\n     May 19, 2026\n\nUpdated\n     August 25, 2026\n\nTopic\n    Web development\n\nMove into action\n\n[ Request a diagnosis ](/en/contact) Prioritized checklist \n\nSummarize with AI\n\nChatGPT  Claude  Perplexity \n\nShare\n\nLinkedIn  Copy link \n\nAction completed. \n\n[Part of the Edikka instrument library](/en/library#instrument-professional-website-accessibility-foundation)v1.1 · CC BY 4.0\n\n## Professional website accessibility foundation\n\nPrepare a journey assessment and identify checks needing further review.\n\nPreview, files and citation\n\nInside the instrument\n\nThree excerpts from the published file · abridged where necessary ID| Check| Expected evidence  \n---|---|---  \nA11Y01| Identifiable page title| Browser-tab screenshot and head extract.  \nA11Y02| Declared primary language| DOM extract and test log.  \nA11Y03| Coherent heading hierarchy| Exported heading outline.  \n  \n[Read the original file — Professional website accessibility foundation](/docbd/data/socle-accessibilite-site-professionnel-edikka-v1-1.json) · v1.1\n\nCite this version\n\nEdikka (2026). Professional website accessibility foundation (v1.1). https://www.edikka.com/en/insights/web-development/web-accessibility-professional-website-basics#library-source-professional-website-accessibility-foundation. Accessed 2026-09-11. CC BY 4.0.\n\nCopy citation — Professional website accessibility foundation\n\nVersion history: this catalogue documents the version shown above. No earlier change log is provided here.\n\n[Report an issue with this version by email — Professional website accessibility foundation](mailto:agence@edikka.com?subject=Library%20correction%20%E2%80%94%20Professional%20website%20accessibility%20foundation%20%C2%B7%20v1.1&body=Professional%20website%20accessibility%20foundation%20%C2%B7%20v1.1%0Ahttps%3A%2F%2Fwww.edikka.com%2Fdocbd%2Fdata%2Fsocle-accessibilite-site-professionnel-edikka-v1.json%23dataset%0A%0AObserved%20issue%3A%0A%0AEvidence%20or%20reproduction%20steps%3A%0A%0ASuggested%20correction%3A%0A)\n\n  * [socle-accessibilite-site-professionnel-edikka-v1-1.json · JSON · fr + en](/docbd/data/socle-accessibilite-site-professionnel-edikka-v1-1.json)\n  * [schema-socle-accessibilite-site-professionnel-edikka-v1-1.json · JSON Schema · zxx](/docbd/data/schema-socle-accessibilite-site-professionnel-edikka-v1-1.json)\n  * [socle-accessibilite-site-professionnel-edikka-v1.xlsx · XLSX · fr + en](/docbd/data/socle-accessibilite-site-professionnel-edikka-v1.xlsx)\n  * [auto-evaluation-socle-accessibilite-edikka-2026-08-26.json · JSON · fr](/docbd/data/auto-evaluation-socle-accessibilite-edikka-2026-08-26.json)\n  * [auto-evaluation-socle-accessibilite-edikka-2026-08-26.xlsx · XLSX · fr](/docbd/data/auto-evaluation-socle-accessibilite-edikka-2026-08-26.xlsx)\n\n\n\n**Interpretation limit.** A public candidate for journey diagnosis; the distributed workbook remains edition 1.0 and the package is neither a certification nor an RGAA conformance audit.\n\n[Find this instrument in the catalogue](/en/library#instrument-professional-website-accessibility-foundation)\n\nShort answer\n\n## An accessible website is not identified by a score: it is verified through journeys, criteria and evidence.\n\nWeb accessibility removes barriers that prevent a person from perceiving content, understanding an interface, navigating or taking action. On a professional website, the useful starting point is neither a vague statement nor an automated score. It is a bounded, replayable check linked to evidence.\n\nThis edition publishes the **Edikka foundation v1.0** : 36 checks across 8 families, each with an acceptance criterion, method, expected evidence and mapping to WCAG 2.2 and RGAA 4.1.2 themes. It helps teams begin. It does not replace a conformance audit.\n\n**8** operational families\n\n**36** replayable checks\n\n**4** controlled statuses\n\n**No** automatic certification\n\nEvidence rule\n\nA check that has not been tested is not a pass. It remains “not tested”. Missing evidence is never converted into success.\n\nScope\n\n## This foundation answers “where do we start?”, not “are we legally conformant?”\n\nWCAG 2.2 organises success criteria under four principles: perceivable, operable, understandable and robust. RGAA 4.1.2 provides a French operational method of criteria and tests. WCAG-EM frames whole-website evaluation and sampling. These layers do not serve the same purpose.\n\nThe foundation selects frequent barriers that can be checked on a page or critical journey. A WCAG claim or RGAA statement requires a defined scope, representative sample, all applicable criteria and human testing. Whether RGAA or the EAA applies also depends on the entity and the service.\n\nFour qualification questions before discussing obligationsQuestion| Decision available here| Correct next step  \n---|---|---  \nIs the entity in the public scope or subject to a specific French obligation?| Qualify it; do not infer an obligation from the mere existence of a website.| [Read the RGAA, WCAG and EAA guide](/en/insights/web-development/rgaa-wcag-eaa-digital-accessibility).  \nDoes the B2C service fall within EAA categories applying since 28 June 2025?| Qualify by service, business and exemptions.| Document scope with legal advice where necessary.  \nIs the need an initial diagnosis or conformance evidence?| This foundation supports initial diagnosis.| For conformance evidence, prepare a full audit and representative sample.  \nIs an automated score available?| The score informs a subset of automatable rules.| [Understand what Lighthouse does not prove](/en/insights/web-development/lighthouse-100-accessibility).  \n  \n**Legal limit.** This table orients the work; it is not legal advice. The French DGCCRF page lists products and services covered by the European directive and related exemptions.\n\nSelection method\n\n## Why 36 checks: the count comes from a published rule, not a marketing number.\n\nA check enters the foundation only if it satisfies all five conditions below. This avoids reducing accessibility to ten generic tips or presenting a short table as the whole of WCAG and RGAA. Families receive no quota: forms, keyboard and landmarks contain more checks when the rule produces more.\n\n  1. 01\n\nThe check applies to most public pages or transactional journeys on a professional website.\n\n  2. 02\n\nThe result can be observed on a bounded scope without claiming to sample the entire website.\n\n  3. 03\n\nThe acceptance criterion and expected evidence can be stated without opaque judgement.\n\n  4. 04\n\nA failure creates an access, understanding, navigation or action barrier.\n\n  5. 05\n\nThe check maps to a WCAG 2.2 Level A or AA success criterion and an RGAA 4.1.2 theme.\n\n\n\n\nOutside the foundation\n\nCriteria that depend on a medium, sector, legal scope, full sample or specialist judgement belong in the dedicated audit. “Not applicable” must be justified, never used to inflate a score.\n\nDual taxonomy\n\n## Eight families to act, with normative mapping to verify.\n\nThe operational family helps a team assign the correction. WCAG/RGAA mapping leads back to primary references. Both taxonomies are retained: one organises action, the other prevents Edikka from inventing its own standard.\n\n01\n\n4 checks\n\n### Orientation and structure\n\n**WCAG:** Operable / Understandable  \n**RGAA:** 8 · Éléments obligatoires; 9 · Structuration; 12 · Navigation\n\n02\n\n4 checks\n\n### Content and alternatives\n\n**WCAG:** Perceivable / Understandable  \n**RGAA:** 1 · Images; 3 · Couleurs; 6 · Liens; 13 · Consultation\n\n03\n\n4 checks\n\n### Visual perception\n\n**WCAG:** Perceivable  \n**RGAA:** 3 · Couleurs; 10 · Présentation\n\n04\n\n5 checks\n\n### Keyboard and focus\n\n**WCAG:** Operable  \n**RGAA:** 7 · Scripts; 10 · Présentation; 12 · Navigation\n\n05\n\n4 checks\n\n### Components and states\n\n**WCAG:** Operable / Robust  \n**RGAA:** 7 · Scripts; 12 · Navigation\n\n06\n\n6 checks\n\n### Forms and errors\n\n**WCAG:** Understandable / Robust  \n**RGAA:** 11 · Formulaires\n\n07\n\n4 checks\n\n### Media, motion and time\n\n**WCAG:** Perceivable / Operable  \n**RGAA:** 4 · Multimédia; 13 · Consultation\n\n08\n\n5 checks\n\n### Adaptation and robustness\n\n**WCAG:** Operable / Understandable / Robust  \n**RGAA:** 7 · Scripts; 10 · Présentation; 12 · Navigation; 13 · Consultation\n\nOpen grid · v1.0\n\n## The 36 foundation checks, each with visible acceptance criteria and evidence.\n\nThe visible table publishes the acceptance criterion and expected evidence. The XLSX adds detailed method, owner, status, date, limitation and evidence link. The JSON is the machine source shared by the French and English editions.\n\n**Normative reading.** RGAA 4.1.2 aligns with WCAG 2.1. Checks A11Y33 to A11Y36 cover four A/AA criteria added in WCAG 2.2; their RGAA mapping identifies the relevant operational theme and states that version 4.1.2 has no direct equivalent.\n\nThe 36 checks in the Edikka v1.0 foundation. RGAA mapping identifies a relevant theme, not a conformance result.ID| Family| Barrier checked| Acceptance criterion| Expected evidence| WCAG 2.2 / RGAA 4.1.2| Severity  \n---|---|---|---|---|---|---  \n**A11Y01**|  Orientation and structure| **Identifiable page title**  \nThe user cannot tell which page is open.| The browser title describes the page and distinguishes it from other pages.| Browser-tab screenshot and head extract.| 2.4.2 (A)  \n8 · Éléments obligatoires| High  \n**A11Y02**|  Orientation and structure| **Declared primary language**  \nSpeech output pronounces content incorrectly.| The html lang attribute matches the actual primary language.| DOM extract and test log.| 3.1.1 (A)  \n8 · Éléments obligatoires| High  \n**A11Y03**|  Orientation and structure| **Coherent heading hierarchy**  \nSections become difficult to scan or understand.| One H1 describes the topic; H2/H3 reflect content nesting and are not decorative.| Exported heading outline.| 1.3.1 (A); 2.4.6 (AA)  \n9 · Structuration| High  \n**A11Y04**|  Orientation and structure| **Landmarks and direct access to content**  \nRepeated navigation must be traversed on every page.| Main content is inside main; a working bypass link reaches a visible or focusable target.| Keyboard video and accessibility tree.| 1.3.1 (A); 2.4.1 (A)  \n9 · Structuration; 12 · Navigation| High  \n**A11Y05**|  Content and alternatives| **Alternatives for informative images**  \nInformation conveyed by an image disappears.| Each informative image has an equivalent alternative; decorative images can be ignored.| Screenshot without images and DOM extract.| 1.1.1 (A)  \n1 · Images| High  \n**A11Y06**|  Content and alternatives| **Names for functional images and icons**  \nA graphical action is silent or ambiguous.| The accessible name describes the action or destination, not the icon appearance.| Accessibility tree or DOM report.| 1.1.1 (A); 4.1.2 (A)  \n1 · Images; 7 · Scripts| Blocking  \n**A11Y07**|  Content and alternatives| **Links understandable in context**  \nThe destination of a link must be guessed.| The label and programmatic context identify the destination or function.| Link list and context screenshots.| 2.4.4 (A)  \n6 · Liens| High  \n**A11Y08**|  Content and alternatives| **Instructions independent of shape and colour**  \nInstructions become unusable without full visual perception.| No essential instruction relies only on colour, position, shape or sound.| Annotated screenshot and review log.| 1.3.3 (A); 1.4.1 (A)  \n3 · Couleurs; 13 · Consultation| High  \n**A11Y09**|  Visual perception| **Text contrast**  \nText becomes unreadable for many users.| Contrast reaches 4.5:1 for normal text and 3:1 for large text, subject to WCAG exceptions.| Contrast report with values and screenshots.| 1.4.3 (AA)  \n3 · Couleurs| High  \n**A11Y10**|  Visual perception| **Contrast of components and meaningful states**  \nA field, focus indicator or state cannot be perceived.| Necessary visual boundaries and states reach 3:1 against adjacent colours, subject to WCAG exceptions.| Component contrast report.| 1.4.11 (AA)  \n3 · Couleurs; 10 · Présentation| High  \n**A11Y11**|  Visual perception| **Text zoom and custom spacing**  \nContent overlaps or disappears when reading settings are adapted.| At 200% zoom and WCAG text spacing, text and functions remain available without loss.| Before/after screenshots and test log.| 1.4.4 (AA); 1.4.12 (AA)  \n10 · Présentation| High  \n**A11Y12**|  Visual perception| **Reflow at 320 CSS pixels**  \nTwo-dimensional reading or horizontal scrolling is imposed.| Content and actions remain usable at 320 CSS px without loss or global horizontal scrolling, subject to exceptions.| Full-page screenshot and scrollWidth/clientWidth measurement.| 1.4.10 (AA)  \n10 · Présentation| Blocking  \n**A11Y13**|  Keyboard and focus| **All functions available by keyboard**  \nA person without a mouse cannot complete the journey.| Every essential action can be completed by keyboard without pointer-dependent gestures.| Uncut keyboard-journey video.| 2.1.1 (A)  \n7 · Scripts; 12 · Navigation| Blocking  \n**A11Y14**|  Keyboard and focus| **No keyboard trap**  \nFocus enters a component and cannot leave it.| Focus can leave every component through a standard or documented method.| Video and key sequence.| 2.1.2 (A)  \n7 · Scripts; 12 · Navigation| Blocking  \n**A11Y15**|  Keyboard and focus| **Visible and unobscured focus**  \nThe user loses their position or focus is covered.| Every focused control is perceptible and not entirely hidden by fixed content.| Video or screenshots for each component family.| 2.4.7 (AA); 2.4.11 (AA)  \n10 · Présentation; 12 · Navigation| High  \n**A11Y16**|  Keyboard and focus| **Logical focus order**  \nReading and actions follow an incoherent order.| Sequential focus preserves meaning and operation; no positive tabindex forces it artificially.| Numbered focus log and DOM extract.| 2.4.3 (A)  \n12 · Navigation| High  \n**A11Y17**|  Components and states| **Accessible name aligned with visible label**  \nVoice control cannot find the displayed control.| The accessible name contains the visible action text in a useful matching order.| Screenshot and accessibility tree.| 2.5.3 (A)  \n7 · Scripts| High  \n**A11Y18**|  Components and states| **Programmatic name, role, value and state**  \nThe component is announced without a function or state.| Each component exposes a name, role and, where needed, an updated value or state.| Two accessibility-tree captures.| 4.1.2 (A)  \n7 · Scripts| Blocking  \n**A11Y19**|  Components and states| **Focus management for dialogs and panels**  \nContext changes without orientation or background content remains active.| On open, focus enters the component; it stays when required; on close, it returns to a logical point.| Keyboard video and accessibility tree.| 2.4.3 (A); 2.1.2 (A); 4.1.2 (A)  \n7 · Scripts; 12 · Navigation| Blocking  \n**A11Y20**|  Components and states| **Announced status messages**  \nSuccess, error or update feedback remains invisible to speech output.| Important messages are exposed without unnecessarily moving focus.| Screen-reader log and DOM extract.| 4.1.3 (AA)  \n7 · Scripts; 11 · Formulaires| High  \n**A11Y21**|  Forms and errors| **Explicit label for every field**  \nThe expected data must be guessed.| Each field has a persistent, correctly associated and sufficiently precise label.| Screenshot and DOM extract.| 1.3.1 (A); 3.3.2 (A)  \n11 · Formulaires| Blocking  \n**A11Y22**|  Forms and errors| **Identifiable purpose for personal-data fields**  \nInput assistance and autocomplete cannot work correctly.| Common personal-data fields use a valid autocomplete token when their purpose is known.| DOM report of input attributes.| 1.3.5 (AA)  \n11 · Formulaires| Medium  \n**A11Y23**|  Forms and errors| **Errors identified and linked to fields**  \nThe user knows submission failed but not where or why.| The error is named, located, linked to the field and announced; correct data is retained.| Video, screenshot and accessibility tree.| 3.3.1 (A); 3.3.3 (AA)  \n11 · Formulaires| Blocking  \n**A11Y24**|  Forms and errors| **Prevention and confirmation for sensitive actions**  \nA legal, financial or irreversible action is confirmed by mistake.| The user can review, correct or confirm before finalisation and receives usable confirmation.| Journey video and confirmation screenshot.| 3.3.4 (AA)  \n11 · Formulaires| Blocking  \n**A11Y25**|  Media, motion and time| **Captions for prerecorded video**  \nAudio content is inaccessible to deaf or hard-of-hearing users.| Speech and meaningful sounds are available in synchronised, reviewed captions.| Video excerpt and caption file.| 1.2.2 (A)  \n4 · Multimédia| High  \n**A11Y26**|  Media, motion and time| **Alternative for essential visual or audio content**  \nA demonstration, chart or meaningful sound has no equivalent.| A transcript, audio description or text alternative conveys the necessary information for the medium.| Transcript or alternative track linked to the media.| 1.2.3 (A); 1.2.5 (AA)  \n4 · Multimédia| High  \n**A11Y27**|  Media, motion and time| **Control of autoplay, motion and timing**  \nContent disrupts reading or expires before the action is complete.| Automatic audio can be stopped; long animations can be paused; time limits can be controlled, subject to exceptions.| Video and timed test log.| 1.4.2 (A); 2.2.1 (A); 2.2.2 (A)  \n4 · Multimédia; 13 · Consultation| Blocking  \n**A11Y28**|  Media, motion and time| **Safe flashing and controllable motion**  \nFlashing or automatically moving content causes discomfort, loss of focus or neurological risk.| No content flashes more than three times per second and any automatic animation lasting more than five seconds can be paused, stopped or hidden.| Scenario video and flashing measurement report where applicable.| 2.2.2 (A); 2.3.1 (A)  \n13 · Consultation| High  \n**A11Y29**|  Adaptation and robustness| **Orientation not restricted**  \nThe service becomes unusable on a device fixed in one orientation.| Content works in portrait and landscape unless orientation is essential.| Two screenshots and test log.| 1.3.4 (AA)  \n13 · Consultation| High  \n**A11Y30**|  Adaptation and robustness| **Sufficiently large touch targets**  \nAn action is difficult to trigger accurately on mobile.| Targets reach 24 × 24 CSS px or meet an exception in WCAG 2.5.8.| Annotated screenshot with CSS dimensions.| 2.5.8 (AA)  \n10 · Présentation; 13 · Consultation| Medium  \n**A11Y31**|  Adaptation and robustness| **Consistent navigation and components**  \nThe same element changes name, position or behaviour without reason.| Repeated navigation keeps a consistent order and identical components are identified consistently.| Comparison table and screenshots.| 3.2.3 (AA); 3.2.4 (AA)  \n12 · Navigation| Medium  \n**A11Y32**|  Adaptation and robustness| **Coherent programmatic reading order**  \nVisual reordering disconnects reading, meaning and action.| At each viewport, DOM order and assistive-technology output preserve the meaning of content and instructions.| Annotated capture, DOM extract and reading log.| 1.3.2 (A)  \n9 · Structuration; 10 · Présentation| High  \n**A11Y33**|  Keyboard and focus| **Alternative to dragging movements**  \nAn action requires precise drag-and-drop that a person cannot perform.| Any function based on dragging can also be completed with a single-pointer action, unless dragging is essential.| Video comparing the dragging gesture with its single-action alternative.| 2.5.7 (AA)  \n7 · Scripts — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2| High  \n**A11Y34**|  Adaptation and robustness| **Consistent help across pages**  \nThe way to obtain help changes position or order and becomes difficult to find.| When a help mechanism repeats across pages, it keeps the same relative order unless the user initiated the change.| Comparison table of help-mechanism order and dated screenshots.| 3.2.6 (A)  \n12 · Navigation — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2| Medium  \n**A11Y35**|  Forms and errors| **Redundant entry avoided**  \nInformation already supplied must be entered again in the same process.| Previously supplied information is auto-populated or available for selection, except for security, necessity or invalid-data exceptions.| Full-journey video and inventory of repeated fields with documented exceptions.| 3.3.7 (A)  \n11 · Formulaires — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2| High  \n**A11Y36**|  Forms and errors| **Accessible authentication**  \nSigning in requires a cognitive test, memorisation or transcription without an alternative.| Authentication does not require a cognitive-function test, or provides an alternative, assistance mechanism, or object/personal-content recognition covered by WCAG exceptions.| Authentication-journey video, inventory of cognitive requirements and documented exceptions.| 3.3.8 (AA)  \n11 · Formulaires — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2| Blocking  \n  \nExecution\n\n## An actionable check connects six fields: scope, scenario, result, evidence, status and owner.\n\n“Check the keyboard” is not evidence. A scenario must name the page, viewport, initial state, keys used and action to complete. The expected result must be observable. The evidence must allow a third party to replay or challenge the conclusion.\n\nVague check\n\n“The menu is keyboard accessible.” No journey, evidence or environment.\n    \n    \n    Status: pass\n    Evidence: none\n    Conclusion: cannot be replayed\n\nReplayable check\n\nA11Y13 · Mobile menu · Chrome 140 · 390 × 844 · keyboard only.\n    \n    \n    1. Tab to the Menu button\n    2. Press Enter to open\n    3. Tab through every link\n    4. Press Escape to close\n    5. Check focus returns\n    \n    Evidence: video + dated log\n    Status: Pass / Fail / Not tested / Not applicable\n\nControlled status\n\nSeverity describes the impact of a defect. Status describes the test result. Release blocking is a governance decision. The three are not merged.\n\nPrioritisation\n\n## Fix first what prevents people from perceiving, navigating or completing the action.\n\nEdikka foundation severity vocabularySeverity| Definition| Example| Expected decision  \n---|---|---|---  \n**Blocking**|  The critical journey cannot be completed or essential information disappears.| Keyboard-inoperable form; field without label; unlocated error.| Fix before release or document a no-go decision.  \n**High**|  The journey remains possible but creates major difficulty or uncertainty.| Poorly visible focus; insufficient contrast; repeated ambiguous link.| Fix in the priority batch and retest.  \n**Medium**|  The friction is real but does not alone block the main objective.| Small touch target; inconsistent name for a secondary component.| Plan, assign and verify non-regression.  \n  \nAutomation and people\n\n## Tools detect symptoms; human journeys establish impact.\n\nA validator can find a missing attribute, measurable contrast or an empty accessible name. It cannot always decide whether an alternative conveys the right meaning, whether an error message actually helps or whether focus returns to the right context. The method therefore requires a bounded human replay with assistive technology, without turning it into a standalone WCAG criterion.\n\nThe minimum combination is HTML and DOM validation, automated audit, keyboard testing, reflow, contrast, accessibility tree and a screen-reader journey. Environment, date and limitations must accompany the result.\n\nGo deeper\n\n### Move from foundation to real audit\n\nSpecialised pages explain score limits, sampling and human testing.\n\n  * [01AutomationWhy Lighthouse 100 does not prove accessibility](/en/insights/web-development/lighthouse-100-accessibility)\n  * [02Human auditWhat automated tools fail to see](/en/insights/web-development/real-accessibility-audit-automated-tools-miss)\n  * [03Edikka evidenceRead the public scope and evidence](/en/accessibility)\n\n\n\nProject cycle\n\n## Accessibility is decided before mockups and replayed after launch.\n\n01\n\nScope\n\n### Qualify service, users and critical journeys.\n\nLegal scope and test scope are separate decisions.\n\n02\n\nDesign\n\n### Define states, errors, content and interactions before pixels.\n\nA mockup must show focus, errors, confirmations and responsive variants.\n\n03\n\nComponents\n\n### Code behaviours in the design system.\n\nA fix to a button, dialog or field should benefit every instance.\n\n04\n\nContent\n\n### Name headings, links, alternatives and instructions.\n\nSemantics are not a technical wrapper: they carry published meaning.\n\n05\n\nAcceptance\n\n### Replay the 36 applicable checks.\n\nEach defect receives evidence, severity, owner and retest.\n\n06\n\nProduction\n\n### Monitor journeys and regressions.\n\nA page accessible today can break with the next component, content update or third-party script.\n\nCluster architecture\n\n## One question, one reference page: the foundation routes without repeating everything.\n\nChoose the right depth\n\n### From first check to public evidence\n\nEach resource keeps a distinct role to avoid cannibalisation and contradictory answers.\n\n  * [01ObligationsRGAA, WCAG and EAA: qualify the framework](/en/insights/web-development/rgaa-wcag-eaa-digital-accessibility)\n  * [02ConversionAccessible forms and lost leads](/en/insights/web-development/accessible-forms-lost-leads)\n  * [03StructureAccessibility, SEO and AI: semantic HTML](/en/insights/web-development/accessibility-seo-ai-semantic-html)\n  * [04StatementEdikka accessibility status and evidence](/en/accessibility)\n\n\n\nOpen assets\n\n## Download, replay, challenge and improve the method.\n\nThe assets are free, require no form and use a CC BY 4.0 licence. You may adapt and redistribute them with attribution to Edikka and the canonical URL. The XLSX supports teamwork; JSON is the machine source; Markdown exposes a stable text edition.\n\nResources\n\n### Three formats, one v1.0 method\n\nCounts, identifiers and checks come from the same versioned source.\n\n  * [01XLSXReady-to-use grid · French and English](/docbd/data/socle-accessibilite-site-professionnel-edikka-v1.xlsx)\n  * [02JSONVersioned bilingual machine source](/docbd/data/socle-accessibilite-site-professionnel-edikka-v1.json)\n  * [03MarkdownPublic, citable text edition](/llms/insights/web-accessibility-professional-website-basics.md)\n\n\n\nPrimary sources\n\n## The Edikka method links back to the standards it does not replace.\n\nReviewed 25 August 2026\n\n### Reference standards and methods\n\nNormative criteria remain those published by the source organisations.\n\n  * [01Primary sourceWCAG 2.2 · W3C Recommendation (opens in a new tab)](https://www.w3.org/TR/WCAG22/)\n  * [02Primary sourceRGAA 4.1.2 · Critères et tests (opens in a new tab)](https://accessibilite.numerique.gouv.fr/methode/criteres-et-tests/)\n  * [03Primary sourceWCAG-EM · Website Accessibility Conformance Evaluation Methodology (opens in a new tab)](https://www.w3.org/WAI/test-evaluate/conformance/wcag-em/)\n  * [04Primary sourceDGCCRF · Directive accessibilité (opens in a new tab)](https://www.economie.gouv.fr/dgccrf/les-fiches-pratiques/professionnels-vos-produits-et-services-doivent-etre-conformes-la-directive-accessibilite)\n\n\n\nVersion and integrity\n\n## A citable, dated method that can be verified down to each file.\n\n**Version 1.0 · published and reviewed 25 August 2026 · next review 25 November 2026.** Changelog: first public bilingual release of the 36-check foundation.\n\nRecommended citation: Edikka, “Professional website accessibility foundation · v1.0”, 25 August 2026, with a link to the canonical URL. No DOI is claimed until a persistent third-party repository assigns one.\n\nSHA-256 fingerprints\n\nThese fingerprints verify that downloaded JSON and XLSX files match the assets cited by this edition.\n    \n    \n    JSON  8fdfeddda1f94f427e54274a90003a7e824f15a5304ceeba2a9509453c5e31cd\n    XLSX  f869d70bef0b716070d7af9b6f8f1354e5d969574ea3bb890226dd7df29aeb90\n\nVoluntary limit\n\n## Edikka is a web agency: this grid is a published working method, not an independent standard.\n\nWe use this grid to scope, design and accept websites. We therefore have a commercial interest in demonstrating the quality of the method. To make that conflict visible, we publish the selection rule, limits, sources, checks and reusable formats.\n\nThe foundation does not cover every applicable criterion, calculate an RGAA rate, certify any website or guarantee legal compliance, absence of barriers, SEO ranking or AI citation. Clear structure makes a page more reliable to read; visibility depends on other signals.\n\nConclusion\n\n## Start with a real journey, an observable barrier and replayable evidence.\n\nAccessibility does not progress when a team adds a score to a dashboard. It progresses when a person can complete an action that was previously impossible, the fix is carried by the right component and a third party can replay the test.\n\nChoose a critical journey, run the 36 applicable checks, retain evidence, fix blockers and retest. Then expand the scope with a full audit method when the objective becomes conformance.\n\nDecision\n\nDo not publish “accessible” because a tool is green. Publish what was tested, how, when, with what evidence and what limitations.\n\nEdikka vision\n\n## Accessibility becomes credible when design, content and code share the same evidence.\n\nA check is not a box. It is an observable commitment: a person can complete the action, the fix holds in the component and the result can be replayed.\n\n01Use\n\n### Start from the real journey\n\nPriority comes from what a user must perceive, understand and complete—not from what is easiest to measure.\n\n02System\n\n### Fix at the source\n\nAn accessible, documented and tested component prevents the same defect from being repaired page by page.\n\n03Evidence\n\n### Name what remains unknown\n\nNot tested, not applicable and fail are useful information. Hiding them destroys trust.\n\nRemember\n\nPremium quality does not make accessibility invisible. It embeds its requirements in every design decision.\n\nArticle FAQ \n\n## Go further on this topic\n\nAdditional answers to clarify the key points covered in this article. \n\n10  selected questions  [ View all FAQs + ](/en/faq)\n\n###  What is web accessibility? \n\nWeb accessibility means designing content, interfaces and journeys so people can perceive information, understand the interface, navigate and act, including with a keyboard or assistive technology.\n\n###  Who benefits from an accessible website? \n\nDisabled people, as well as users on the move, using magnification, on a degraded connection, with a temporary injury, or in a context that limits attention, vision, hearing or dexterity.\n\n###  Do the 36 checks prove RGAA or WCAG conformance? \n\nNo. The foundation supports an initial diagnosis of a journey. A conformance claim requires a defined scope, representative sample, every applicable criterion and documented human testing.\n\n###  What is the difference between WCAG, RGAA and the EAA? \n\nWCAG 2.2 defines international success criteria. RGAA 4.1.2 provides a French operational test method. The EAA creates European obligations for selected products and services. Applicability depends on the entity, service and context.\n\n[ Connect semantic HTML, accessibility and SEO  ](/en/insights/web-development/technical-seo-foundations)\n\n###  Does a Lighthouse accessibility score of 100 prove accessibility? \n\nNo. Automated scoring covers only part of the rules tools can detect. It does not prove the quality of an alternative, keyboard journey usability or complete screen-reader behaviour.\n\n###  Where should a professional website start with accessibility? \n\nChoose a critical journey, define the test environment, run applicable checks, retain evidence, assign fixes and replay the exact same scenario.\n\n###  What is replayable accessibility evidence? \n\nReplayable evidence names the page, state, viewport, browser, technology, steps, observed result, date and limitations. A third party must be able to reproduce or challenge the conclusion.\n\n###  How should accessibility fixes be prioritised? \n\nStart with findings that remove essential information or prevent completion of a critical journey. Keep severity, test status and release-blocking decisions separate.\n\n###  Should a website be tested with a screen reader? \n\nYes for critical journeys and components that expose a name, role, value, state or dynamic message. Screen-reader testing complements keyboard testing and accessibility-tree inspection.\n\n###  When should the foundation become a full audit? \n\nWhen you need a conformance claim, accessibility statement, whole-service coverage, contractual or legal evidence, or when the diagnosis uncovers components and journeys that require broader sampling.\n\n##  Web solutions designed to perform \n\nStrategy. Design. Code. SEO. AI.  Clearer, faster, and more compelling digital experiences. \n\n[ Let’s talk about your project  ](/en/contact) [ View our projects  ](/en/projects)\n\nInsights\n\n[All insights](/en/insights)\n\n[Digital strategy](/en/insights/digital-strategy)\n\n[UX/UI design](/en/insights/ux-ui-design)\n\nWeb development\n\n[SEO](/en/insights/seo)\n\n[AI and web automation](/en/insights/ai-web-automation)\n\n[ ![Accessible contact form on a screen with conversion signals and submission confirmation](/docbd/article/big/formulaire-accessible-erreurs-contacts-perdus.avif) Web development  Optimize  Accessible forms : how many leads does your site lose ?  Read the analysis → ](/en/insights/web-development/accessible-forms-lost-leads)[ ![Accessible web interface, compliance checklist and European accessibility markers for RGAA, WCAG and EAA](/docbd/article/big/rgaa-wcag-eaa-accessibilite-numerique.avif) Web development  Advanced  RGAA, WCAG, EAA in plain English : the executive guide to digital accessibility  Read the analysis → ](/en/insights/web-development/rgaa-wcag-eaa-digital-accessibility)[ ![Annotated demo: Lighthouse 100 score and keyboard-blocking modal](/docbd/article/big/lighthouse-100-accessibility.jpg) Web development  Optimize  Lighthouse 100 does not prove a site is accessible  Read the analysis → ](/en/insights/web-development/lighthouse-100-accessibility)[ ![Technical SEO: the invisible foundations of a well-ranked website](/docbd/article/big/seo-technique-les-fondations-invisibles-d-un-site-bien-reference.jpg) Web development  Advanced  Technical SEO : a verifiable audit protocol for a website’s foundations  Read the analysis → ](/en/insights/web-development/technical-seo-foundations)[ ![Web images: formats, compression, lazy loading and visual quality](/docbd/article/big/images-web-formats-compression-lazy-loading-et-qualite-visuelle.jpg) Web development  Advanced  Web image optimisation : verifiable protocol, formats, LCP and perceptual quality  Read the analysis → ](/en/insights/web-development/web-image-optimisation)[ ![Front-end vs Back-end: A Simple Explanation](/docbd/article/big/front-end-vs-back-end-comprendre-simplement.jpg) Web development  Understand  Front-end vs Back-end : A Simple Explanation  Read the analysis → ](/en/insights/web-development/front-end-vs-back-end-simple-explanation)\n\n[ + Explore ](/en/insights/web-development)\n\nVerifiable quality\n\n##  Technical foundations you can verify. \n\n[ Opens in a new tab. Performance Analysis of loading speed, Core Web Vitals and best practices.  PageSpeed ↗ ](https://pagespeed.web.dev/analysis?url=https%3A%2F%2Fwww.edikka.com%2Fen%2Finsights%2Fweb-development%2Fweb-accessibility-professional-website-basics&form_factor=mobile&hl=en) [ Opens in a new tab. Rich data Verification of schema.org markup usable by Google.  Rich Results ↗ ](https://search.google.com/test/rich-results?url=https%3A%2F%2Fwww.edikka.com%2Fen%2Finsights%2Fweb-development%2Fweb-accessibility-professional-website-basics) [ Opens in a new tab. HTML structure Check of document validity and markup quality.  HTML Validator ↗ ](https://validator.w3.org/nu/?showoutline=yes&doc=https%3A%2F%2Fwww.edikka.com%2Fen%2Finsights%2Fweb-development%2Fweb-accessibility-professional-website-basics) [ Opens in a new tab. Accessibility Detection of issues that may affect navigation or readability.  WAVE ↗ ](https://wave.webaim.org/report#/https://www.edikka.com/en/insights/web-development/web-accessibility-professional-website-basics)\n\nAnalyzed page: `/en/insights/web-development/web-accessibility-professional-website-basics`\n\n[ ](/en)\n\n94, boulevard Barbès  \n75018 Paris - FRANCE\n\n[+33 (0)1 48 56 83 07](tel:+33148568307) [ ](https://www.linkedin.com/company/edikka/ \"Edikka on LinkedIn\") [ ](https://www.youtube.com/@Edikka \"YouTube @Edikka\")\n\n  * [Insights.](/en/insights)\n  * [Library.](/en/library)\n  * [FAQ.](/en/faq)\n\n\n\n  * [Expertise](/en/expertise)\n  * [Website redesign](/en/website-redesign)\n  * [Collaborations](/en/collaborations)\n\n[ Contact us ](/en/contact)\n\n(C) 2026 Digital agency founded by [Bertrand Morel](/en/agency/bertrand-morel)\n\n[Privacy Policy](/en/privacy-policy) [Legal Notice](/en/legal-notice) [Accessibility](/en/accessibility)\n",
        "status": "ok"
      },
      "markdownify": {
        "tool": "markdownify",
        "version": "1.2.2",
        "markdown": "   Web accessibility: 36 essential checks and XLSX grid              \n                               [Skip to content](#edikka-main-content)\n\n* [The agency](/en/agency)\n* [Expertise](/en/expertise) \n\n  [Expertise  Create. Optimize. Convert.   A precise, elegant, results-driven digital approach.    All expertise   →](/en/expertise) \n  + [→   Digital  \n    strategy Positioning, user journeys, acquisition, and growth.](/en/expertise/digital-strategy)\n  + [→   Experience   \n    & design Elegant, readable interfaces designed to convert.](/en/expertise/ux-ui-design)\n  + [→   Web   \n    development Fast, robust, maintainable code.](/en/expertise/web-development)\n  + [→   SEO   \n    & AI visibility SEO, GEO, editorial structure, and long-term performance.](/en/expertise/seo) [21  **Open instrument library** Protocols, grids and datasets supporting our expertise.  →](/en/library)\n* [Projects](/en/projects)\n* [AI](/en/expertise/ai)\n* [Contact](/en/contact)\n\n[FR](https://www.edikka.com/insights/developpement-web/accessibilite-web-bases-site-professionnel)   EN\n\nMenu\n\n* [Agency →](/en/agency)\n* [Expertise →](/en/expertise) \n  + [Digital strategy Positioning & growth](/en/expertise/digital-strategy)\n  + [Experience & design Interfaces & conversion](/en/expertise/ux-ui-design)\n  + [Web development Fast & robust code](/en/expertise/web-development)\n  + [SEO & AI visibility Structure & performance](/en/expertise/seo)\n  + [21  Open instrument library Instruments & evidence](/en/library)\n* [AI  Automation](/en/expertise/ai)\n* [Projects →](/en/projects)\n* [Insights →](/en/insights)\n* [Contact →](/en/contact)\n\n1. [Home](/en)\n2. [Insights](/en/insights)\n3. [Web development](/en/insights/web-development)\n4. Web accessibility: 36 essential checks\n\nInsights\n\nWeb development\n\nLevel: Optimize\n\n# Web accessibility: 36 essential checks for a professional website\n\nA verifiable foundation: 36 checks, 8 families, acceptance criteria, evidence and explicit limits.\n\nEstimated reading time:  13:35\n\nSummary\n\n1. [01  Short answer](#accessibility-foundation-answer \"An accessible website is not identified by a score: it is verified through journeys, criteria and evidence.\")\n2. [02  Foundation scope](#accessibility-foundation-scope \"This foundation answers “where do we start?”, not “are we legally conformant?”\")\n3. [03  Selection rule](#accessibility-foundation-selection \"Why 36 checks: the count comes from a published rule, not a marketing number.\")\n4. [04  8 families](#accessibility-foundation-families \"Eight families to act, with normative mapping to verify.\")\n5. [05  36 checks](#accessibility-foundation-checks \"The 36 foundation checks, each with visible acceptance criteria and evidence.\")\n6. [06  Run a check](#accessibility-foundation-execution \"An actionable check connects six fields: scope, scenario, result, evidence, status and owner.\")\n7. [07  Prioritise](#accessibility-foundation-priority \"Fix first what prevents people from perceiving, navigating or completing the action.\")\n8. [08  Tools and people](#accessibility-foundation-tools \"Tools detect symptoms; human journeys establish impact.\")\n9. [09  Project workflow](#accessibility-foundation-workflow \"Accessibility is decided before mockups and replayed after launch.\")\n10. [10  Cluster journey](#accessibility-foundation-cluster \"One question, one reference page: the foundation routes without repeating everything.\")\n11. [11  Open assets](#accessibility-foundation-assets \"Download, replay, challenge and improve the method.\")\n12. [12  Sources](#accessibility-foundation-sources \"The Edikka method links back to the standards it does not replace.\")\n13. [13  Version and integrity](#accessibility-foundation-integrity \"A citable, dated method that can be verified down to each file.\")\n14. [14  Voluntary limit](#accessibility-foundation-limit \"Edikka is a web agency: this grid is a published working method, not an independent standard.\")\n15. [15  Conclusion](#accessibility-foundation-conclusion \"Start with a real journey, an observable barrier and replayable evidence.\")\n\n![Web accessibility: the essentials for a professional website](/docbd/article/big/accessibilite-web-les-bases-a-respecter-sur-un-site-professionnel.jpg)\n\nWhere should a professional website start with accessibility? This open method turns 36 frequent barriers into replayable checks, evidence and decisions—without confusing a foundation, a full audit and legal conformance.\n\nEdikka insight\n\nUse this analysis.\n\nSummarize the article with AI, share it with your team or turn it into a prioritized action plan for your website.\n\n[Analysis by **Bertrand Morel** Founder of Edikka, digital strategy, UX/UI, web development, SEO and AI visibility.](/en/agency/bertrand-morel) \n\nCreated\n:   May 19, 2026\n\nUpdated\n:   August 25, 2026\n\nTopic\n:   Web development\n\nMove into action\n\n [Request a diagnosis](/en/contact)   Prioritized checklist\n\nSummarize with AI\n\n ChatGPT   Claude   Perplexity\n\nShare\n\n LinkedIn   Copy link\n\nAction completed.\n\n[Part of the Edikka instrument library](/en/library#instrument-professional-website-accessibility-foundation)v1.1 · CC BY 4.0\n\n## Professional website accessibility foundation\n\nPrepare a journey assessment and identify checks needing further review.\n\n Preview, files and citation\n\nInside the instrument\n\nThree excerpts from the published file · abridged where necessary\n\n| ID | Check | Expected evidence |\n| --- | --- | --- |\n| A11Y01 | Identifiable page title | Browser-tab screenshot and head extract. |\n| A11Y02 | Declared primary language | DOM extract and test log. |\n| A11Y03 | Coherent heading hierarchy | Exported heading outline. |\n\n[Read the original file — Professional website accessibility foundation](/docbd/data/socle-accessibilite-site-professionnel-edikka-v1-1.json)  · v1.1\n\nCite this version\n\nEdikka (2026). Professional website accessibility foundation (v1.1). https://www.edikka.com/en/insights/web-development/web-accessibility-professional-website-basics#library-source-professional-website-accessibility-foundation. Accessed 2026-09-11. CC BY 4.0.\n\nCopy citation — Professional website accessibility foundation\n\nVersion history: this catalogue documents the version shown above. No earlier change log is provided here.\n\n[Report an issue with this version by email — Professional website accessibility foundation](mailto:agence@edikka.com?subject=Library%20correction%20%E2%80%94%20Professional%20website%20accessibility%20foundation%20%C2%B7%20v1.1&body=Professional%20website%20accessibility%20foundation%20%C2%B7%20v1.1%0Ahttps%3A%2F%2Fwww.edikka.com%2Fdocbd%2Fdata%2Fsocle-accessibilite-site-professionnel-edikka-v1.json%23dataset%0A%0AObserved%20issue%3A%0A%0AEvidence%20or%20reproduction%20steps%3A%0A%0ASuggested%20correction%3A%0A)\n\n* [socle-accessibilite-site-professionnel-edikka-v1-1.json · JSON · fr + en](/docbd/data/socle-accessibilite-site-professionnel-edikka-v1-1.json)\n* [schema-socle-accessibilite-site-professionnel-edikka-v1-1.json · JSON Schema · zxx](/docbd/data/schema-socle-accessibilite-site-professionnel-edikka-v1-1.json)\n* [socle-accessibilite-site-professionnel-edikka-v1.xlsx · XLSX · fr + en](/docbd/data/socle-accessibilite-site-professionnel-edikka-v1.xlsx)\n* [auto-evaluation-socle-accessibilite-edikka-2026-08-26.json · JSON · fr](/docbd/data/auto-evaluation-socle-accessibilite-edikka-2026-08-26.json)\n* [auto-evaluation-socle-accessibilite-edikka-2026-08-26.xlsx · XLSX · fr](/docbd/data/auto-evaluation-socle-accessibilite-edikka-2026-08-26.xlsx)\n\n**Interpretation limit.** A public candidate for journey diagnosis; the distributed workbook remains edition 1.0 and the package is neither a certification nor an RGAA conformance audit.\n\n[Find this instrument in the catalogue](/en/library#instrument-professional-website-accessibility-foundation)\n\nShort answer\n\n## An accessible website is not identified by a score: it is verified through journeys, criteria and evidence.\n\nWeb accessibility removes barriers that prevent a person from perceiving content, understanding an interface, navigating or taking action. On a professional website, the useful starting point is neither a vague statement nor an automated score. It is a bounded, replayable check linked to evidence.\n\nThis edition publishes the **Edikka foundation v1.0**: 36 checks across 8 families, each with an acceptance criterion, method, expected evidence and mapping to WCAG 2.2 and RGAA 4.1.2 themes. It helps teams begin. It does not replace a conformance audit.\n\n**8**operational families\n\n**36**replayable checks\n\n**4**controlled statuses\n\n**No**automatic certification\n\nEvidence rule\n\nA check that has not been tested is not a pass. It remains “not tested”. Missing evidence is never converted into success.\n\nScope\n\n## This foundation answers “where do we start?”, not “are we legally conformant?”\n\nWCAG 2.2 organises success criteria under four principles: perceivable, operable, understandable and robust. RGAA 4.1.2 provides a French operational method of criteria and tests. WCAG-EM frames whole-website evaluation and sampling. These layers do not serve the same purpose.\n\nThe foundation selects frequent barriers that can be checked on a page or critical journey. A WCAG claim or RGAA statement requires a defined scope, representative sample, all applicable criteria and human testing. Whether RGAA or the EAA applies also depends on the entity and the service.\n\nFour qualification questions before discussing obligations\n\n| Question | Decision available here | Correct next step |\n| --- | --- | --- |\n| Is the entity in the public scope or subject to a specific French obligation? | Qualify it; do not infer an obligation from the mere existence of a website. | [Read the RGAA, WCAG and EAA guide](/en/insights/web-development/rgaa-wcag-eaa-digital-accessibility). |\n| Does the B2C service fall within EAA categories applying since 28 June 2025? | Qualify by service, business and exemptions. | Document scope with legal advice where necessary. |\n| Is the need an initial diagnosis or conformance evidence? | This foundation supports initial diagnosis. | For conformance evidence, prepare a full audit and representative sample. |\n| Is an automated score available? | The score informs a subset of automatable rules. | [Understand what Lighthouse does not prove](/en/insights/web-development/lighthouse-100-accessibility). |\n\n**Legal limit.** This table orients the work; it is not legal advice. The French DGCCRF page lists products and services covered by the European directive and related exemptions.\n\nSelection method\n\n## Why 36 checks: the count comes from a published rule, not a marketing number.\n\nA check enters the foundation only if it satisfies all five conditions below. This avoids reducing accessibility to ten generic tips or presenting a short table as the whole of WCAG and RGAA. Families receive no quota: forms, keyboard and landmarks contain more checks when the rule produces more.\n\n1. 01\n\n   The check applies to most public pages or transactional journeys on a professional website.\n2. 02\n\n   The result can be observed on a bounded scope without claiming to sample the entire website.\n3. 03\n\n   The acceptance criterion and expected evidence can be stated without opaque judgement.\n4. 04\n\n   A failure creates an access, understanding, navigation or action barrier.\n5. 05\n\n   The check maps to a WCAG 2.2 Level A or AA success criterion and an RGAA 4.1.2 theme.\n\nOutside the foundation\n\nCriteria that depend on a medium, sector, legal scope, full sample or specialist judgement belong in the dedicated audit. “Not applicable” must be justified, never used to inflate a score.\n\nDual taxonomy\n\n## Eight families to act, with normative mapping to verify.\n\nThe operational family helps a team assign the correction. WCAG/RGAA mapping leads back to primary references. Both taxonomies are retained: one organises action, the other prevents Edikka from inventing its own standard.\n\n01\n\n4 checks\n\n### Orientation and structure\n\n**WCAG:** Operable / Understandable  \n**RGAA:** 8 · Éléments obligatoires; 9 · Structuration; 12 · Navigation\n\n02\n\n4 checks\n\n### Content and alternatives\n\n**WCAG:** Perceivable / Understandable  \n**RGAA:** 1 · Images; 3 · Couleurs; 6 · Liens; 13 · Consultation\n\n03\n\n4 checks\n\n### Visual perception\n\n**WCAG:** Perceivable  \n**RGAA:** 3 · Couleurs; 10 · Présentation\n\n04\n\n5 checks\n\n### Keyboard and focus\n\n**WCAG:** Operable  \n**RGAA:** 7 · Scripts; 10 · Présentation; 12 · Navigation\n\n05\n\n4 checks\n\n### Components and states\n\n**WCAG:** Operable / Robust  \n**RGAA:** 7 · Scripts; 12 · Navigation\n\n06\n\n6 checks\n\n### Forms and errors\n\n**WCAG:** Understandable / Robust  \n**RGAA:** 11 · Formulaires\n\n07\n\n4 checks\n\n### Media, motion and time\n\n**WCAG:** Perceivable / Operable  \n**RGAA:** 4 · Multimédia; 13 · Consultation\n\n08\n\n5 checks\n\n### Adaptation and robustness\n\n**WCAG:** Operable / Understandable / Robust  \n**RGAA:** 7 · Scripts; 10 · Présentation; 12 · Navigation; 13 · Consultation\n\nOpen grid · v1.0\n\n## The 36 foundation checks, each with visible acceptance criteria and evidence.\n\nThe visible table publishes the acceptance criterion and expected evidence. The XLSX adds detailed method, owner, status, date, limitation and evidence link. The JSON is the machine source shared by the French and English editions.\n\n**Normative reading.** RGAA 4.1.2 aligns with WCAG 2.1. Checks A11Y33 to A11Y36 cover four A/AA criteria added in WCAG 2.2; their RGAA mapping identifies the relevant operational theme and states that version 4.1.2 has no direct equivalent.\n\nThe 36 checks in the Edikka v1.0 foundation. RGAA mapping identifies a relevant theme, not a conformance result.\n\n| ID | Family | Barrier checked | Acceptance criterion | Expected evidence | WCAG 2.2 / RGAA 4.1.2 | Severity |\n| --- | --- | --- | --- | --- | --- | --- |\n| **A11Y01** | Orientation and structure | **Identifiable page title** The user cannot tell which page is open. | The browser title describes the page and distinguishes it from other pages. | Browser-tab screenshot and head extract. | 2.4.2 (A) 8 · Éléments obligatoires | High |\n| **A11Y02** | Orientation and structure | **Declared primary language** Speech output pronounces content incorrectly. | The html lang attribute matches the actual primary language. | DOM extract and test log. | 3.1.1 (A) 8 · Éléments obligatoires | High |\n| **A11Y03** | Orientation and structure | **Coherent heading hierarchy** Sections become difficult to scan or understand. | One H1 describes the topic; H2/H3 reflect content nesting and are not decorative. | Exported heading outline. | 1.3.1 (A); 2.4.6 (AA) 9 · Structuration | High |\n| **A11Y04** | Orientation and structure | **Landmarks and direct access to content** Repeated navigation must be traversed on every page. | Main content is inside main; a working bypass link reaches a visible or focusable target. | Keyboard video and accessibility tree. | 1.3.1 (A); 2.4.1 (A) 9 · Structuration; 12 · Navigation | High |\n| **A11Y05** | Content and alternatives | **Alternatives for informative images** Information conveyed by an image disappears. | Each informative image has an equivalent alternative; decorative images can be ignored. | Screenshot without images and DOM extract. | 1.1.1 (A) 1 · Images | High |\n| **A11Y06** | Content and alternatives | **Names for functional images and icons** A graphical action is silent or ambiguous. | The accessible name describes the action or destination, not the icon appearance. | Accessibility tree or DOM report. | 1.1.1 (A); 4.1.2 (A) 1 · Images; 7 · Scripts | Blocking |\n| **A11Y07** | Content and alternatives | **Links understandable in context** The destination of a link must be guessed. | The label and programmatic context identify the destination or function. | Link list and context screenshots. | 2.4.4 (A) 6 · Liens | High |\n| **A11Y08** | Content and alternatives | **Instructions independent of shape and colour** Instructions become unusable without full visual perception. | No essential instruction relies only on colour, position, shape or sound. | Annotated screenshot and review log. | 1.3.3 (A); 1.4.1 (A) 3 · Couleurs; 13 · Consultation | High |\n| **A11Y09** | Visual perception | **Text contrast** Text becomes unreadable for many users. | Contrast reaches 4.5:1 for normal text and 3:1 for large text, subject to WCAG exceptions. | Contrast report with values and screenshots. | 1.4.3 (AA) 3 · Couleurs | High |\n| **A11Y10** | Visual perception | **Contrast of components and meaningful states** A field, focus indicator or state cannot be perceived. | Necessary visual boundaries and states reach 3:1 against adjacent colours, subject to WCAG exceptions. | Component contrast report. | 1.4.11 (AA) 3 · Couleurs; 10 · Présentation | High |\n| **A11Y11** | Visual perception | **Text zoom and custom spacing** Content overlaps or disappears when reading settings are adapted. | At 200% zoom and WCAG text spacing, text and functions remain available without loss. | Before/after screenshots and test log. | 1.4.4 (AA); 1.4.12 (AA) 10 · Présentation | High |\n| **A11Y12** | Visual perception | **Reflow at 320 CSS pixels** Two-dimensional reading or horizontal scrolling is imposed. | Content and actions remain usable at 320 CSS px without loss or global horizontal scrolling, subject to exceptions. | Full-page screenshot and scrollWidth/clientWidth measurement. | 1.4.10 (AA) 10 · Présentation | Blocking |\n| **A11Y13** | Keyboard and focus | **All functions available by keyboard** A person without a mouse cannot complete the journey. | Every essential action can be completed by keyboard without pointer-dependent gestures. | Uncut keyboard-journey video. | 2.1.1 (A) 7 · Scripts; 12 · Navigation | Blocking |\n| **A11Y14** | Keyboard and focus | **No keyboard trap** Focus enters a component and cannot leave it. | Focus can leave every component through a standard or documented method. | Video and key sequence. | 2.1.2 (A) 7 · Scripts; 12 · Navigation | Blocking |\n| **A11Y15** | Keyboard and focus | **Visible and unobscured focus** The user loses their position or focus is covered. | Every focused control is perceptible and not entirely hidden by fixed content. | Video or screenshots for each component family. | 2.4.7 (AA); 2.4.11 (AA) 10 · Présentation; 12 · Navigation | High |\n| **A11Y16** | Keyboard and focus | **Logical focus order** Reading and actions follow an incoherent order. | Sequential focus preserves meaning and operation; no positive tabindex forces it artificially. | Numbered focus log and DOM extract. | 2.4.3 (A) 12 · Navigation | High |\n| **A11Y17** | Components and states | **Accessible name aligned with visible label** Voice control cannot find the displayed control. | The accessible name contains the visible action text in a useful matching order. | Screenshot and accessibility tree. | 2.5.3 (A) 7 · Scripts | High |\n| **A11Y18** | Components and states | **Programmatic name, role, value and state** The component is announced without a function or state. | Each component exposes a name, role and, where needed, an updated value or state. | Two accessibility-tree captures. | 4.1.2 (A) 7 · Scripts | Blocking |\n| **A11Y19** | Components and states | **Focus management for dialogs and panels** Context changes without orientation or background content remains active. | On open, focus enters the component; it stays when required; on close, it returns to a logical point. | Keyboard video and accessibility tree. | 2.4.3 (A); 2.1.2 (A); 4.1.2 (A) 7 · Scripts; 12 · Navigation | Blocking |\n| **A11Y20** | Components and states | **Announced status messages** Success, error or update feedback remains invisible to speech output. | Important messages are exposed without unnecessarily moving focus. | Screen-reader log and DOM extract. | 4.1.3 (AA) 7 · Scripts; 11 · Formulaires | High |\n| **A11Y21** | Forms and errors | **Explicit label for every field** The expected data must be guessed. | Each field has a persistent, correctly associated and sufficiently precise label. | Screenshot and DOM extract. | 1.3.1 (A); 3.3.2 (A) 11 · Formulaires | Blocking |\n| **A11Y22** | Forms and errors | **Identifiable purpose for personal-data fields** Input assistance and autocomplete cannot work correctly. | Common personal-data fields use a valid autocomplete token when their purpose is known. | DOM report of input attributes. | 1.3.5 (AA) 11 · Formulaires | Medium |\n| **A11Y23** | Forms and errors | **Errors identified and linked to fields** The user knows submission failed but not where or why. | The error is named, located, linked to the field and announced; correct data is retained. | Video, screenshot and accessibility tree. | 3.3.1 (A); 3.3.3 (AA) 11 · Formulaires | Blocking |\n| **A11Y24** | Forms and errors | **Prevention and confirmation for sensitive actions** A legal, financial or irreversible action is confirmed by mistake. | The user can review, correct or confirm before finalisation and receives usable confirmation. | Journey video and confirmation screenshot. | 3.3.4 (AA) 11 · Formulaires | Blocking |\n| **A11Y25** | Media, motion and time | **Captions for prerecorded video** Audio content is inaccessible to deaf or hard-of-hearing users. | Speech and meaningful sounds are available in synchronised, reviewed captions. | Video excerpt and caption file. | 1.2.2 (A) 4 · Multimédia | High |\n| **A11Y26** | Media, motion and time | **Alternative for essential visual or audio content** A demonstration, chart or meaningful sound has no equivalent. | A transcript, audio description or text alternative conveys the necessary information for the medium. | Transcript or alternative track linked to the media. | 1.2.3 (A); 1.2.5 (AA) 4 · Multimédia | High |\n| **A11Y27** | Media, motion and time | **Control of autoplay, motion and timing** Content disrupts reading or expires before the action is complete. | Automatic audio can be stopped; long animations can be paused; time limits can be controlled, subject to exceptions. | Video and timed test log. | 1.4.2 (A); 2.2.1 (A); 2.2.2 (A) 4 · Multimédia; 13 · Consultation | Blocking |\n| **A11Y28** | Media, motion and time | **Safe flashing and controllable motion** Flashing or automatically moving content causes discomfort, loss of focus or neurological risk. | No content flashes more than three times per second and any automatic animation lasting more than five seconds can be paused, stopped or hidden. | Scenario video and flashing measurement report where applicable. | 2.2.2 (A); 2.3.1 (A) 13 · Consultation | High |\n| **A11Y29** | Adaptation and robustness | **Orientation not restricted** The service becomes unusable on a device fixed in one orientation. | Content works in portrait and landscape unless orientation is essential. | Two screenshots and test log. | 1.3.4 (AA) 13 · Consultation | High |\n| **A11Y30** | Adaptation and robustness | **Sufficiently large touch targets** An action is difficult to trigger accurately on mobile. | Targets reach 24 × 24 CSS px or meet an exception in WCAG 2.5.8. | Annotated screenshot with CSS dimensions. | 2.5.8 (AA) 10 · Présentation; 13 · Consultation | Medium |\n| **A11Y31** | Adaptation and robustness | **Consistent navigation and components** The same element changes name, position or behaviour without reason. | Repeated navigation keeps a consistent order and identical components are identified consistently. | Comparison table and screenshots. | 3.2.3 (AA); 3.2.4 (AA) 12 · Navigation | Medium |\n| **A11Y32** | Adaptation and robustness | **Coherent programmatic reading order** Visual reordering disconnects reading, meaning and action. | At each viewport, DOM order and assistive-technology output preserve the meaning of content and instructions. | Annotated capture, DOM extract and reading log. | 1.3.2 (A) 9 · Structuration; 10 · Présentation | High |\n| **A11Y33** | Keyboard and focus | **Alternative to dragging movements** An action requires precise drag-and-drop that a person cannot perform. | Any function based on dragging can also be completed with a single-pointer action, unless dragging is essential. | Video comparing the dragging gesture with its single-action alternative. | 2.5.7 (AA) 7 · Scripts — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2 | High |\n| **A11Y34** | Adaptation and robustness | **Consistent help across pages** The way to obtain help changes position or order and becomes difficult to find. | When a help mechanism repeats across pages, it keeps the same relative order unless the user initiated the change. | Comparison table of help-mechanism order and dated screenshots. | 3.2.6 (A) 12 · Navigation — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2 | Medium |\n| **A11Y35** | Forms and errors | **Redundant entry avoided** Information already supplied must be entered again in the same process. | Previously supplied information is auto-populated or available for selection, except for security, necessity or invalid-data exceptions. | Full-journey video and inventory of repeated fields with documented exceptions. | 3.3.7 (A) 11 · Formulaires — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2 | High |\n| **A11Y36** | Forms and errors | **Accessible authentication** Signing in requires a cognitive test, memorisation or transcription without an alternative. | Authentication does not require a cognitive-function test, or provides an alternative, assistance mechanism, or object/personal-content recognition covered by WCAG exceptions. | Authentication-journey video, inventory of cognitive requirements and documented exceptions. | 3.3.8 (AA) 11 · Formulaires — critère WCAG 2.2 sans équivalent direct dans le RGAA 4.1.2 | Blocking |\n\nExecution\n\n## An actionable check connects six fields: scope, scenario, result, evidence, status and owner.\n\n“Check the keyboard” is not evidence. A scenario must name the page, viewport, initial state, keys used and action to complete. The expected result must be observable. The evidence must allow a third party to replay or challenge the conclusion.\n\nVague check\n\n“The menu is keyboard accessible.” No journey, evidence or environment.\n\n```\nStatus: pass\nEvidence: none\nConclusion: cannot be replayed\n```\n\nReplayable check\n\nA11Y13 · Mobile menu · Chrome 140 · 390 × 844 · keyboard only.\n\n```\n1. Tab to the Menu button\n2. Press Enter to open\n3. Tab through every link\n4. Press Escape to close\n5. Check focus returns\n\nEvidence: video + dated log\nStatus: Pass / Fail / Not tested / Not applicable\n```\n\nControlled status\n\nSeverity describes the impact of a defect. Status describes the test result. Release blocking is a governance decision. The three are not merged.\n\nPrioritisation\n\n## Fix first what prevents people from perceiving, navigating or completing the action.\n\nEdikka foundation severity vocabulary\n\n| Severity | Definition | Example | Expected decision |\n| --- | --- | --- | --- |\n| **Blocking** | The critical journey cannot be completed or essential information disappears. | Keyboard-inoperable form; field without label; unlocated error. | Fix before release or document a no-go decision. |\n| **High** | The journey remains possible but creates major difficulty or uncertainty. | Poorly visible focus; insufficient contrast; repeated ambiguous link. | Fix in the priority batch and retest. |\n| **Medium** | The friction is real but does not alone block the main objective. | Small touch target; inconsistent name for a secondary component. | Plan, assign and verify non-regression. |\n\nAutomation and people\n\n## Tools detect symptoms; human journeys establish impact.\n\nA validator can find a missing attribute, measurable contrast or an empty accessible name. It cannot always decide whether an alternative conveys the right meaning, whether an error message actually helps or whether focus returns to the right context. The method therefore requires a bounded human replay with assistive technology, without turning it into a standalone WCAG criterion.\n\nThe minimum combination is HTML and DOM validation, automated audit, keyboard testing, reflow, contrast, accessibility tree and a screen-reader journey. Environment, date and limitations must accompany the result.\n\nGo deeper\n\n### Move from foundation to real audit\n\nSpecialised pages explain score limits, sampling and human testing.\n\n* [01AutomationWhy Lighthouse 100 does not prove accessibility](/en/insights/web-development/lighthouse-100-accessibility)\n* [02Human auditWhat automated tools fail to see](/en/insights/web-development/real-accessibility-audit-automated-tools-miss)\n* [03Edikka evidenceRead the public scope and evidence](/en/accessibility)\n\nProject cycle\n\n## Accessibility is decided before mockups and replayed after launch.\n\n01\n\nScope\n\n### Qualify service, users and critical journeys.\n\nLegal scope and test scope are separate decisions.\n\n02\n\nDesign\n\n### Define states, errors, content and interactions before pixels.\n\nA mockup must show focus, errors, confirmations and responsive variants.\n\n03\n\nComponents\n\n### Code behaviours in the design system.\n\nA fix to a button, dialog or field should benefit every instance.\n\n04\n\nContent\n\n### Name headings, links, alternatives and instructions.\n\nSemantics are not a technical wrapper: they carry published meaning.\n\n05\n\nAcceptance\n\n### Replay the 36 applicable checks.\n\nEach defect receives evidence, severity, owner and retest.\n\n06\n\nProduction\n\n### Monitor journeys and regressions.\n\nA page accessible today can break with the next component, content update or third-party script.\n\nCluster architecture\n\n## One question, one reference page: the foundation routes without repeating everything.\n\nChoose the right depth\n\n### From first check to public evidence\n\nEach resource keeps a distinct role to avoid cannibalisation and contradictory answers.\n\n* [01ObligationsRGAA, WCAG and EAA: qualify the framework](/en/insights/web-development/rgaa-wcag-eaa-digital-accessibility)\n* [02ConversionAccessible forms and lost leads](/en/insights/web-development/accessible-forms-lost-leads)\n* [03StructureAccessibility, SEO and AI: semantic HTML](/en/insights/web-development/accessibility-seo-ai-semantic-html)\n* [04StatementEdikka accessibility status and evidence](/en/accessibility)\n\nOpen assets\n\n## Download, replay, challenge and improve the method.\n\nThe assets are free, require no form and use a CC BY 4.0 licence. You may adapt and redistribute them with attribution to Edikka and the canonical URL. The XLSX supports teamwork; JSON is the machine source; Markdown exposes a stable text edition.\n\nResources\n\n### Three formats, one v1.0 method\n\nCounts, identifiers and checks come from the same versioned source.\n\n* [01XLSXReady-to-use grid · French and English](/docbd/data/socle-accessibilite-site-professionnel-edikka-v1.xlsx)\n* [02JSONVersioned bilingual machine source](/docbd/data/socle-accessibilite-site-professionnel-edikka-v1.json)\n* [03MarkdownPublic, citable text edition](/llms/insights/web-accessibility-professional-website-basics.md)\n\nPrimary sources\n\n## The Edikka method links back to the standards it does not replace.\n\nReviewed 25 August 2026\n\n### Reference standards and methods\n\nNormative criteria remain those published by the source organisations.\n\n* [01Primary sourceWCAG 2.2 · W3C Recommendation (opens in a new tab)](https://www.w3.org/TR/WCAG22/)\n* [02Primary sourceRGAA 4.1.2 · Critères et tests (opens in a new tab)](https://accessibilite.numerique.gouv.fr/methode/criteres-et-tests/)\n* [03Primary sourceWCAG-EM · Website Accessibility Conformance Evaluation Methodology (opens in a new tab)](https://www.w3.org/WAI/test-evaluate/conformance/wcag-em/)\n* [04Primary sourceDGCCRF · Directive accessibilité (opens in a new tab)](https://www.economie.gouv.fr/dgccrf/les-fiches-pratiques/professionnels-vos-produits-et-services-doivent-etre-conformes-la-directive-accessibilite)\n\nVersion and integrity\n\n## A citable, dated method that can be verified down to each file.\n\n**Version 1.0 · published and reviewed 25 August 2026 · next review 25 November 2026.** Changelog: first public bilingual release of the 36-check foundation.\n\nRecommended citation: Edikka, “Professional website accessibility foundation · v1.0”, 25 August 2026, with a link to the canonical URL. No DOI is claimed until a persistent third-party repository assigns one.\n\nSHA-256 fingerprints\n\nThese fingerprints verify that downloaded JSON and XLSX files match the assets cited by this edition.\n\n```\nJSON  8fdfeddda1f94f427e54274a90003a7e824f15a5304ceeba2a9509453c5e31cd\nXLSX  f869d70bef0b716070d7af9b6f8f1354e5d969574ea3bb890226dd7df29aeb90\n```\n\nVoluntary limit\n\n## Edikka is a web agency: this grid is a published working method, not an independent standard.\n\nWe use this grid to scope, design and accept websites. We therefore have a commercial interest in demonstrating the quality of the method. To make that conflict visible, we publish the selection rule, limits, sources, checks and reusable formats.\n\nThe foundation does not cover every applicable criterion, calculate an RGAA rate, certify any website or guarantee legal compliance, absence of barriers, SEO ranking or AI citation. Clear structure makes a page more reliable to read; visibility depends on other signals.\n\nConclusion\n\n## Start with a real journey, an observable barrier and replayable evidence.\n\nAccessibility does not progress when a team adds a score to a dashboard. It progresses when a person can complete an action that was previously impossible, the fix is carried by the right component and a third party can replay the test.\n\nChoose a critical journey, run the 36 applicable checks, retain evidence, fix blockers and retest. Then expand the scope with a full audit method when the objective becomes conformance.\n\nDecision\n\nDo not publish “accessible” because a tool is green. Publish what was tested, how, when, with what evidence and what limitations.\n\nEdikka vision\n\n## Accessibility becomes credible when design, content and code share the same evidence.\n\nA check is not a box. It is an observable commitment: a person can complete the action, the fix holds in the component and the result can be replayed.\n\n01Use\n\n### Start from the real journey\n\nPriority comes from what a user must perceive, understand and complete—not from what is easiest to measure.\n\n02System\n\n### Fix at the source\n\nAn accessible, documented and tested component prevents the same defect from being repaired page by page.\n\n03Evidence\n\n### Name what remains unknown\n\nNot tested, not applicable and fail are useful information. Hiding them destroys trust.\n\nRemember\n\nPremium quality does not make accessibility invisible. It embeds its requirements in every design decision.\n\nArticle FAQ \n\n## Go further on this topic\n\nAdditional answers to clarify the key points covered in this article.\n\n10   selected questions   [View all FAQs +](/en/faq)\n\n### What is web accessibility?\n\nWeb accessibility means designing content, interfaces and journeys so people can perceive information, understand the interface, navigate and act, including with a keyboard or assistive technology.\n\n### Who benefits from an accessible website?\n\nDisabled people, as well as users on the move, using magnification, on a degraded connection, with a temporary injury, or in a context that limits attention, vision, hearing or dexterity.\n\n### Do the 36 checks prove RGAA or WCAG conformance?\n\nNo. The foundation supports an initial diagnosis of a journey. A conformance claim requires a defined scope, representative sample, every applicable criterion and documented human testing.\n\n### What is the difference between WCAG, RGAA and the EAA?\n\nWCAG 2.2 defines international success criteria. RGAA 4.1.2 provides a French operational test method. The EAA creates European obligations for selected products and services. Applicability depends on the entity, service and context.\n\n[Connect semantic HTML, accessibility and SEO](/en/insights/web-development/technical-seo-foundations)\n\n### Does a Lighthouse accessibility score of 100 prove accessibility?\n\nNo. Automated scoring covers only part of the rules tools can detect. It does not prove the quality of an alternative, keyboard journey usability or complete screen-reader behaviour.\n\n### Where should a professional website start with accessibility?\n\nChoose a critical journey, define the test environment, run applicable checks, retain evidence, assign fixes and replay the exact same scenario.\n\n### What is replayable accessibility evidence?\n\nReplayable evidence names the page, state, viewport, browser, technology, steps, observed result, date and limitations. A third party must be able to reproduce or challenge the conclusion.\n\n### How should accessibility fixes be prioritised?\n\nStart with findings that remove essential information or prevent completion of a critical journey. Keep severity, test status and release-blocking decisions separate.\n\n### Should a website be tested with a screen reader?\n\nYes for critical journeys and components that expose a name, role, value, state or dynamic message. Screen-reader testing complements keyboard testing and accessibility-tree inspection.\n\n### When should the foundation become a full audit?\n\nWhen you need a conformance claim, accessibility statement, whole-service coverage, contractual or legal evidence, or when the diagnosis uncovers components and journeys that require broader sampling.\n\n## Web solutions designed to perform\n\nStrategy. Design. Code. SEO. AI.   Clearer, faster, and more compelling digital experiences.\n\n[Let’s talk about your project](/en/contact)   [View our projects](/en/projects)\n\nInsights\n\n[All insights](/en/insights)\n\n[Digital strategy](/en/insights/digital-strategy)\n\n[UX/UI design](/en/insights/ux-ui-design)\n\nWeb development\n\n[SEO](/en/insights/seo)\n\n[AI and web automation](/en/insights/ai-web-automation)\n\n[![Accessible contact form on a screen with conversion signals and submission confirmation](/docbd/article/big/formulaire-accessible-erreurs-contacts-perdus.avif)   Web development   Optimize\n\n### Accessible forms : how many leads does your site lose ?\n\nRead the analysis →](/en/insights/web-development/accessible-forms-lost-leads)[![Accessible web interface, compliance checklist and European accessibility markers for RGAA, WCAG and EAA](/docbd/article/big/rgaa-wcag-eaa-accessibilite-numerique.avif)   Web development   Advanced\n\n### RGAA, WCAG, EAA in plain English : the executive guide to digital accessibility\n\nRead the analysis →](/en/insights/web-development/rgaa-wcag-eaa-digital-accessibility)[![Annotated demo: Lighthouse 100 score and keyboard-blocking modal](/docbd/article/big/lighthouse-100-accessibility.jpg)   Web development   Optimize\n\n### Lighthouse 100 does not prove a site is accessible\n\nRead the analysis →](/en/insights/web-development/lighthouse-100-accessibility)[![Technical SEO: the invisible foundations of a well-ranked website](/docbd/article/big/seo-technique-les-fondations-invisibles-d-un-site-bien-reference.jpg)   Web development   Advanced\n\n### Technical SEO : a verifiable audit protocol for a website’s foundations\n\nRead the analysis →](/en/insights/web-development/technical-seo-foundations)[![Web images: formats, compression, lazy loading and visual quality](/docbd/article/big/images-web-formats-compression-lazy-loading-et-qualite-visuelle.jpg)   Web development   Advanced\n\n### Web image optimisation : verifiable protocol, formats, LCP and perceptual quality\n\nRead the analysis →](/en/insights/web-development/web-image-optimisation)[![Front-end vs Back-end: A Simple Explanation](/docbd/article/big/front-end-vs-back-end-comprendre-simplement.jpg)   Web development   Understand\n\n### Front-end vs Back-end : A Simple Explanation\n\nRead the analysis →](/en/insights/web-development/front-end-vs-back-end-simple-explanation)\n\n[+ Explore](/en/insights/web-development)\n\n \n\nVerifiable quality\n\n## Technical foundations you can verify.\n\n[Opens in a new tab.        Performance   Analysis of loading speed, Core Web Vitals and best practices.    PageSpeed ↗](https://pagespeed.web.dev/analysis?url=https%3A%2F%2Fwww.edikka.com%2Fen%2Finsights%2Fweb-development%2Fweb-accessibility-professional-website-basics&form_factor=mobile&hl=en)   [Opens in a new tab.        Rich data   Verification of schema.org markup usable by Google.    Rich Results ↗](https://search.google.com/test/rich-results?url=https%3A%2F%2Fwww.edikka.com%2Fen%2Finsights%2Fweb-development%2Fweb-accessibility-professional-website-basics)   [Opens in a new tab.        HTML structure   Check of document validity and markup quality.    HTML Validator ↗](https://validator.w3.org/nu/?showoutline=yes&doc=https%3A%2F%2Fwww.edikka.com%2Fen%2Finsights%2Fweb-development%2Fweb-accessibility-professional-website-basics)   [Opens in a new tab.        Accessibility   Detection of issues that may affect navigation or readability.    WAVE ↗](https://wave.webaim.org/report#/https://www.edikka.com/en/insights/web-development/web-accessibility-professional-website-basics)\n\nAnalyzed page: `/en/insights/web-development/web-accessibility-professional-website-basics`\n\n94, boulevard Barbès  \n 75018 Paris - FRANCE\n\n[+33 (0)1 48 56 83 07](tel:+33148568307)\n\n* [Insights.](/en/insights)\n* [Library.](/en/library)\n* [FAQ.](/en/faq)\n \n\n* [Expertise](/en/expertise)\n* [Website redesign](/en/website-redesign)\n* [Collaborations](/en/collaborations)\n\n [Contact us](/en/contact)\n\n© 2026   Digital agency founded by [Bertrand Morel](/en/agency/bertrand-morel)\n\n [Privacy Policy](/en/privacy-policy) [Legal Notice](/en/legal-notice) [Accessibility](/en/accessibility)",
        "status": "ok"
      }
    }
  }
}
