Skip to content
BFSG compliance since 2025

WCAG & standards

The Web Content Accessibility Guidelines are the technical yardstick for digital accessibility — in Europe via the harmonised standard EN 301 549. This category explains the success criteria so they become usable day to day: contrast values and text sizes, keyboard operability and visible focus, target sizes for controls, motion and autoplay, form errors and status messages, semantic structure and accessible names. We look at the differences between conformance levels, at what WCAG 2.2 added, and at which checks can be automated and which necessarily remain manual. Every article names concrete testing steps rather than general appeals. We also classify the tools: what automated checks reliably find, where they produce false positives and why an assessment without manual testing stays incomplete.

WCAG 3.0: A Working Draft, Not a New BenchmarkW3C draft of 3 March 2026 - EN 301 549 remains authoritative for the BFSGMaturity levels in the WCAG 3 draft1PlaceholderTemporary, will be replaced2ExploratoryDirection still being explored3DevelopingRoughly agreedDraft 3 Mar 20264RefiningConsensus, ready for review5MatureBelieved ready for recommendationConformance chapter: Developing maturityStructure of the draft: 12 guidelinesnormativeGuidelinesUser-centred outcome statements in plain languagenormativeRequirements: core and supplementalReplace the WCAG 2 success criteria systemnormativeAssertionsDocumented statements on processes testers cannot verifyinformativeMethodsTechniques and test sets, technology-specific or agnosticLegally authoritative in Germany - todayBFSGin force since 28 Jun 2025EN 301 549 V3.2.1harmonised EU standardWCAG 2.1 / 2.2 AAthe benchmark todayWCAG 3.0Working Draft - not a benchmarkW3C: WCAG 3 does not deprecate WCAG 2 - several years of work remain
WCAG & standards Jul 24, 2026

WCAG 3.0 Draft 2026: Status, Timeline and Practice

On 3 March 2026 the W3C published a new WCAG 3 Working Draft. What it contains, why WCAG 2.2 AA remains the required benchmark and what teams do today.

13 min read
Accessible Authentication per WCAG 2.2 (SC 3.3.8)Cognitive function tests at sign-in are not permitted unless an alternative existsCognitive test = barrierTranscribe a distorted CAPTCHADecipher and re-type the charactersRecall a password from memoryMemory task without a password managerRe-type a one-time code by handCopy characters from an SMS or appConformant paths (SC 3.3.8)Alternative: passkey or magic linkLog in without recall or typing taskMechanism: password managersUse autocomplete, allow pastingObject recognition: everyday itemsCar, traffic light, dog instead of textPersonal content: user's own imageContent the user provided themselvesTwo levels, one goal: sign-in without a cognitive hurdleSC 3.3.8 - Level AAException allowed with alternativeSC 3.3.9 - Level AAAobject recognition also disallowed2xhow much more often disabledusers flag CAPTCHA as a barrier(WebAIM Survey 10, 2024)SC 3.3.8 is Level AA - the benchmark EN 301 549 adopts with version 4.1.1 (2026)94.8% of home pages show WCAG errors - accessible logins prevent abandonment (WebAIM Million, 2025)
WCAG & standards Jul 15, 2026

Accessible Authentication: CAPTCHA Alternatives (SC 3.3.8)

Accessible sign-in under WCAG 2.2 SC 3.3.8: password managers, magic links, passkeys and low-barrier CAPTCHA alternatives using object recognition and audio.

13 min read
Accessible AI chatbot: from dialog to screen reader outputAISupport assistantrole=log, aria-live=politeBot, 2:02 pmHow can I help you?You, 2:02 pmWhere is my order?Bot, 2:03 pmYour shipment is on its way.Delivery tomorrow by 6 pm.Type a message ...Play audioRead as textSend (Enter)Focus stays in the input fieldno jump to the top of the pageWhat the screen reader announcesLog: bot says, shipment is on its wayNew message, 2:03 pm, from assistantInput field, type a message, editablepolite: waits for a pause, does not interruptFour pillars of conformance1KeyboardTab, Enter, Escapefully operable without a mouse2Live regionrole=log, politenew replies are read out3Focusno focus lossstays in the dialog after sending4Text pathalternative to audiovoice bot also delivered as text
WCAG & standards Jul 1, 2026

Accessible AI Chatbots: WCAG-Compliant Voice Bots

Why AI chatbots and voice assistants fall under the BFSG and how conversational UI becomes WCAG-compliant with ARIA live regions and focus management.

14 min read
Accessible Route Changes in a Single-Page App1. Link activatedClick / Enter on linkRoute changes, no reload2. Router renders viewSet document.titleNew content in the DOM3. Set focusfocus() on H1 / regiontabindex=-1 on target4. Announcementaria-live=politeScreen reader reads titleapp.com/home -> app.com/productsWithout focus managementFocus stays stuck on the old link.Screen reader does not announce the change.With focus managementH1: Products (focus, visible ring)Focus on the new heading,title is read out.Three central WCAG references2.4.3 Focus OrderFocus follows the route change sensibly.4.1.3 Status MessagesLive region announces the new view.2.4.2 Page Titleddocument.title reflects the route.Frameworks: React, Vue, Angular, Svelteall need a deliberate focus concept.95.9 percent of home pages had WCAG failures in 2024, averaging 56.8 per page (WebAIM Million, 2024)
WCAG & standards Jun 26, 2026

Focus Management in Single-Page Apps, Accessibly

Accessible route changes in single-page apps: move focus to the new heading, keep the page title in sync and announce view changes via a live region per WCAG 2.4.3.

14 min read
Accessible Chart: Patterns, Labels, Text Alternative and Table FallbackBar chart: revenue per quarterQ1Q2Q3Q412016095180Patterns instead of colour alone plus direct value labelsText alternative (1.1.1)Short alt text plus long descriptionalt: bar chart revenue per quarter in thousand euroHighest value Q4 at 180, lowest Q3 at 95Table fallback: the same data as a tableQuarterRevenue k EURQ1120Q2160Q3 / Q495 / 180Four pillars of accessible data visualisationNot colour alonePatterns, shape, labelContrast 3 to 1Areas distinguishableText alternativealt plus long textTable fallbackRaw data accessibleAround 8 percent of men have a colour vision deficiency (Colour Blind Awareness)
WCAG & standards Jun 24, 2026

Accessible Charts and Data Visualizations

Design charts accessibly: patterns instead of colour alone, sufficient contrast, text alternatives per WCAG 1.1.1 and a table fallback for charts.

13 min read
ARIA Live: Announcing Error and Status MessagesOrder FormEmail*anna@example!Please enter a complete email addressaria-describedby links field and errorPostal code*31185Place order* Required fieldrole=alertScreen reader: Error. Please entera complete email address.role=status / aria-live=politeScreen reader: Order is beingchecked, please wait.WCAG 4.1.3: Announce status messages without moving focusassertive = urgent (errors)polite = wait (status)region already in the DOM95.9 percent of home pages have detectable WCAG errors (WebAIM Million, 2024)
WCAG & standards Jun 19, 2026

Accessible Error and Status Messages with ARIA Live

Accessible error and status messages per WCAG 4.1.3 using ARIA live regions, role=alert, role=status and aria-describedby for forms and dynamic content.

13 min read
Accessible Modal: Focus Trap, Inert Background, ESC and Return FocusPage contentinert + aria-hiddennot focusable, not clickablerole=dialog aria-modal=truearia-labelledby: Subscribe to newsletterEmail addressFirst focusSubscribeCancelFocus trap: Tab stays inside the dialoglast element -> first elementESCclosesdialogReturn focusTrigger button96 percent of all home pages had detectable WCAG failures in 2024, averaging 56.8 per page (WebAIM Million, 2024)
WCAG & standards Jun 17, 2026

Implementing Accessible Modals and Overlays Right

Build modal dialogs accessibly: role=dialog, aria-modal, focus trap, ESC, return focus and an inert background following WCAG 2.4.3 and the ARIA Dialog Pattern.

13 min read
Accessible Data Table: caption, th with scope and programmatic relationshipscaption: Prices by plan and termcaptionPlanMonthlyYearlySupportscope=colscope=colscope=colscope=colBasicProTeam9 EUR19 EUR39 EUR90 EUR190 EUR390 EUREmailChatPhoneth scope=row<table><caption>Prices by plan</caption><th scope="col">Monthly</th><th scope="row">Basic</th><td headers="..."> for complex tables</td></table>Screen reader announcesthe cell with context, not just the valueColumn Monthly, row Pro: 19 EURColumn Support, row Team: PhoneWCAG 1.3.1 checklistth instead of td for header cellsscope=col and scope=row setcaption as the table titleLayout tables without th and captionComplex tables: headers and idResponsive without losing relationsOnly 16.8 percent of over 1 million detected tables had valid data table markup (WebAIM Million, 2024)
WCAG & standards Jun 15, 2026

Accessible Data Tables and Complex Content

Build data tables accessibly: th with scope, caption, headers and id for complex tables, layout vs. data tables and responsive tables following WCAG 1.3.1.

13 min read
Accessible Media: Captions, Transcript and Audio Description- Step one: close the valve.[calm music]CCCaptions on0:41 / 2:13Audio descriptionon (1.2.5 AA)Language: ENTranscriptsearchable00:00Speaker: Welcome to the tutorial.00:09[Visual: hand reaches for red lever]00:14Step one: close the valve.00:22[calm music, indicator blinks green]00:41Step two: check the pressure.Full text for hearing and sight - in sync with the video.Download transcriptWCAG 2.2 Guideline 1.2 - Time-based Media1.2.1 Audio-/video alternative (A)1.2.2 Captions, prerecorded (A)1.2.3 Audio description or full text (A)1.2.4 Captions, live (AA)1.2.5 Audio description, prerecorded (AA)EN 301 549 and the BFSG reference these criteria85 percent of Facebook videos are watched without sound (Digiday, 2016)
WCAG & standards Jun 10, 2026

Accessible Media: Captions and Transcripts Guide 2026

Captions, transcripts and audio description under WCAG guideline 1.2 and the BFSG: what makes video and audio accessible in 2026 - explained in practice.

13 min read
Writing Alt Text Right: Good, Bad, Decorative, ComplexInformative: good alt textalt="Red hiking boots,side view, lugged sole"purpose metshort, specificInformative: bad alt textalt="IMG_2381.jpg"alt="image image photo"file name, redundantno valueDecorative: empty alt textalt="" (empty)role="presentation"screen reader skipsComplex: chart + long descriptionRevenue per quarter 2025 (EUR million)1.8Q12.4Q23.1Q33.9Q4Short alt: "Bar chart, revenue 2025,rising from Q1 to Q4. Data below."Long description (text + table)Q1 1.8 | Q2 2.4 | Q3 3.1 | Q4 3.9Rise across the year: plus 117 percent.linked via aria-describedby / figcaptionWCAG 1.1.1 metdata complete21.6 percent of all home page images had no alternative text in 2024 (WebAIM Million, 2024)
WCAG & standards Jun 8, 2026

Writing Accessible Images and Alt Text Correctly

How to write alt text under WCAG 1.1.1 correctly: describe informative, decorative and complex images, charts and infographics with long descriptions clearly.

13 min read
WAI-ARIA: Role, State and Live Region in the Accessibility Tree1. Role (role)First rule: prefer native HTML over rolebuttonnatively focusablerole=tabno HTML equivalentlandmark | widget | document | abstractrole defines what an element is2. State and Propertyaria-expanded=falsearia-selected=truearia-checked=mixedaria-disabled=trueState changes via JavaScriptScreen reader says: collapsed / expanded3. Live Region: dynamic announcementaria-live=politewaits for a speech pausestatus message, result countaria-live=assertiveinterrupts immediatelycritical errors onlyrole=status / alertregion must exist in DOM firstotherwise no announcementCore rule: No ARIA is better than bad ARIA (W3C WAI)Test with real screen readers | do not rely on automation alone
WCAG & standards Jun 3, 2026

Using ARIA Correctly: Roles, States, Live Regions

WAI-ARIA in practice: roles vs. native HTML, states like aria-expanded and aria-selected, live regions with polite and assertive plus the most common mistakes.

13 min read
Accessible Form: Label, Error and ValidationContact FormName*Anna ExampleEmail*anna@example!Please enter a complete email address (domain missing)PhoneOptional - format: 0123 4567890Message*Submit* Required fieldCorrect Associationlabel for=emailinput id=emailaria-required=truearia-invalid=truearia-describedby=errautocomplete=emailrole=alertWCAG 2.2 Form Criteria3.3.1 Error Identification3.3.2 Labels or Instructions3.3.3 Error Suggestion1.3.5 Identify Input Purpose3.3.7 Redundant Entry3.3.8 Accessible Authentication
WCAG & standards Jun 1, 2026

Accessible Forms: Labels, Errors and Validation

Accessible forms per WCAG 2.2: programmatic labels, required field marking, error messages with aria-describedby and role=alert, plus focus management.

13 min read