Platform guide · Contao

Contao accessibility and the BFSG

Contao is neither accessible nor inaccessible on its own, even though accessibility is part of how the project describes itself. What counts is what your site renders: the templates you have overridden, your theme's CSS, the extensions you run and the content your editors enter. This page separates what Contao gives you from what stays your job, for public bodies under BITV 2.0 as much as for businesses under the BFSG.

Does the BFSG apply to your Contao site?

The BFSG does not cover websites as such. It covers listed services to consumers – e-commerce, banking, telecoms, e-books and elements of passenger transport among them – and has applied to them in Germany since 28 June 2025, transposing the European Accessibility Act [1][2]. A company's information site built with Contao is generally not one of those services. A booking or order function on it can be: if consumers conclude a contract on your site, that part is an e-commerce service, a "Dienstleistung im elektronischen Geschäftsverkehr" (§ 1(3) no. 5 BFSG) [1].

The same applies to a Contao site with a shop. Contao has no shop in its core; the most widely used extension for it is Isotope eCommerce [12]. If you sell to consumers through it, you run an online shop in the sense of the law – see BFSG for online shops. A purely B2B offer is not a service to consumers. Micro-enterprises providing services are exempt: fewer than 10 employees and an annual turnover or balance sheet total of no more than €2 million (§ 2 no. 17, § 3(3) BFSG) [1]; details on the micro-enterprise exemption page.

Many Contao sites belong to public bodies. They fall under BITV 2.0 instead, with its own accessibility statement and feedback duties. The testing benchmark is the same WCAG 2.2 AA work either way. The wider picture is in the BFSG and EAA guide; for comparable systems, see TYPO3 and Neos.

What the platform gives you, and what it does not

You get:

  • A project that commits to accessibility in writing. Contao says you can use it to build accessible websites that meet the requirements of BITV 2.0 and the European Accessibility Act, and that its administration area is largely accessible and compatible with assistive technologies [3]. Its feature list adds that the front end is built entirely on customisable templates [4].
  • Twig templates with a defined inheritance. Since Contao 5.0 all content elements are based on Twig templates [5]. Since 5.7 every old .html5 template has a Twig counterpart, and .html5 templates will not be supported in Contao 6 [9]. A fix in core reaches you as long as you extend a template rather than replace it.
  • Accessibility features in each release. 5.4 lets you give navigation modules ARIA labels [6]. 5.5 added subtitles for videos (captions or audio description), the autocomplete attribute for every form field and titles for YouTube and Vimeo embeds [7]. 5.6 ships an accessible navigation template, mod_navigation_accessible.html5, that turns into a burger menu on small screens [8].
  • Structured image metadata. The file manager stores title, alternative text, link and caption per file, separately for each language [10]. The Heading element lets editors choose the heading level rather than a size [11].
  • Long-term support. LTS versions are supported for four years [3]; Contao 5.7 LTS receives updates until February 2030 [9].

You do not get:

  • The fixes in templates you replaced. A copied template keeps the markup it was copied from, and many Contao 4 themes replaced whole templates.
  • An accessible theme. Contao ships no finished front-end design; colours, focus styles and layout come from your theme.
  • Good alt text. The field exists; whether editors fill it in – in every language – is up to them.
  • A supported Contao 4. Since the release of 5.7 on 18 February 2026, Contao 4.13 no longer receives updates [9].

What we find on Contao sites

Templates and themes from the Contao 4 era

Long-running Contao sites were often built on 4.x with a templates folder full of .html5 overrides. Those overrides do not pick up anything the core has improved since.

Before 5.6 there was no accessible mobile menu in the core [8], so most sites run their own: a burger button that is a div or a link rather than a button, no aria-expanded, a closed menu that can still be tabbed through, and an open menu whose focus runs out behind it. With several navigation elements on a page and no distinct labels, a screen reader lists "navigation" three times – the reason Contao added ARIA labels to navigation modules in 5.4 [6].

Editor content from TinyMCE

The Text element uses the TinyMCE rich text editor [11]. Editors use it to pick a heading by size rather than level, to make text bold instead of marking up a list, and to paste tables from Word. Heading chaos is the most common finding on content-heavy Contao sites, and no template change fixes content that is already there.

Alt text in some languages but not others

Contao stores alternative text in the file manager per language [10]. On multilingual sites, the German alt text is often filled in and the English one empty.

Forms from the form generator

Common findings in the form generator: required fields marked only with an asterisk, error messages that do not say what went wrong, radio groups without a group label, and address fields without autocomplete – which Contao has let you set on every field since 5.5 [7], but which nobody sets retrospectively.

Sliders, accordions, videos – and the Isotope checkout

Content sliders autoplay without a pause control; accordion headers are not buttons. Embedded videos have no title and no captions, although 5.5 added both [7]. On sites with an Isotope shop, test the variant selection and the checkout steps with a keyboard all the way to payment: Isotope's own site announced a private beta for Contao 5 in June 2026 [12], so many shops still run on Contao 4.13.

Where to look first

Where to look first
CriterionWhy on ContaoAutomation
1.3.1 Info and Relationships (A)Overridden templates, pasted tables, fake listsPartly automated
2.4.6 Headings and Labels (AA)Heading levels chosen in TinyMCE by sizeManual only
1.1.1 Non-text Content (A)Alt text missing in one languagePartly automated
2.4.1 Bypass Blocks (A)Themes without a skip linkAutomated
4.1.2 Name, Role, Value (A)Burger menus, accordion headersPartly automated
2.1.2 No Keyboard Trap (A)Mobile menus, lightboxesPartly automated
1.3.5 Identify Input Purpose (AA)Form generator fields without autocompletePartly automated
3.3.1 Error Identification (A)Form generator, Isotope checkoutManual only
1.2.2 Captions (Prerecorded) (A)Videos without subtitle tracksManual only
3.1.2 Language of Parts (AA)Foreign-language passages on multilingual sitesPartly automated

"Automated" means a rule can decide the criterion on its own; "partly automated" means a rule finds some failures and a person has to judge the rest. The full list is in WCAG 2.2 AA, criterion by criterion.

A sensible order of work

  1. Check the version. On 4.13 there are no more updates [9]; plan the move to 5.7 LTS. If you run Isotope, check its Contao 5 status first.
  2. Take stock of your template overrides. List every template in your templates folder and compare it with the core's current Twig counterpart. Where you only changed a detail, extend the core template instead of replacing it, so future fixes reach you.
  3. Replace the navigation. On 5.6 or later, try mod_navigation_accessible.html5 [8] before repairing a home-made burger menu. Give each navigation module a distinct ARIA label.
  4. Constrain the editor. Remove TinyMCE options that let editors fake structure, and make the alternative text in the file manager part of every upload – in every language.
  5. Go through the forms. Set autocomplete on personal-data fields, rewrite error messages, then submit each form once with a keyboard and deliberate mistakes.
  6. Check your obligations. A public body needs a statement and a feedback mechanism under BITV 2.0, and its PDFs are in scope. A business with an Isotope shop needs the BFSG information instead.

What Reviseberg checks on Contao – and what you still test yourself

Reviseberg crawls your site and runs every axe-core rule on every page at a desktop width of 1280 pixels, then repeats the rules that change with the layout – contrast and target size among them – at 360 pixels. Results are mapped to WCAG 2.2 A/AA and EN 301 549. Findings are grouped into issues by rule and ranked by the points you gain by fixing them, so a defect in one overridden template shows up as one issue on 400 pages rather than 400 separate entries.

The keyboard agent opens the pages of a journey you name – the home page, a content page, a form, a product page – and presses Tab, Shift+Tab and Escape through each of them, recording every step. It reports unreachable elements, lost or invisible focus, missing skip links and keyboard traps, which is where a home-made mobile menu usually shows up. It does not fill in forms or place an order, so form errors and the Isotope checkout are yours to walk by hand. The free report covers up to 100 pages and runs the keyboard agent on one page you choose.

You still test some things yourself: whether alt text describes the image, whether heading text and error messages make sense, and how the site behaves with a screen reader and zoom. Screen-reader, zoom and voice-control agents are not built yet; for those criteria the platform gives you guided manual tests, and a criterion nobody has tested is reported as untested, never as passed. PDF documents are not checked. There is no Contao extension from us, nothing is applied to your site automatically, and we never inject an overlay script.

Written to be useful, not as legal advice. As of 27 September 2026.

Frequently asked questions

Is a Contao site accessible out of the box?

Contao says you can build accessible sites with it [3], and that is fair. It ships templates and tools; the finished site depends on your theme, overrides, extensions and editors.

Does upgrading to Contao 5.7 make us compliant?

No. The upgrade brings the core's improvements, a supported version and the accessible navigation template. It does not change overridden templates, extension markup or content your editors have already entered, which is where most findings on a Contao site come from.

We are a public body. Is it the BFSG or BITV 2.0?

BITV 2.0, which implements the Web Accessibility Directive, is the one that applies to public bodies. A public body that offers a consumer service covered by the BFSG can face both. The technical benchmark – EN 301 549, pointing at WCAG – is the same, so the testing does not double even where the paperwork does. More: BITV 2.0.

Does an accessibility extension or overlay help?

A widget layered over the site with JavaScript does not fix the causes in your templates and content. In 2023 the European Disability Forum and IAAP stated that overlays do not make a website accessible or compliant with European accessibility legislation [13]. In 2025 the US Federal Trade Commission finalised an order requiring the overlay vendor accessiBe to pay $1 million over its compliance claims [14]. More: accessibility overlays.

Do we need an accessibility statement?

A public body publishes an accessibility statement under BITV 2.0, with a feedback mechanism. A business providing a service under the BFSG publishes information on how the service meets the accessibility requirements (§ 14 BFSG with Annex 3) [1] – a different document. The statement editor drafts it from your test results and only claims what they support.

Sources

  1. Barrierefreiheitsstärkungsgesetz (BFSG), §§ 1(3) no. 5, 2 no. 17, 3(3), 14, Annex 3 – https://www.gesetze-im-internet.de/bfsg/ (wording checked via https://bfsg-gesetz.de/, 27 Sep 2026)
  2. Directive (EU) 2019/882 (European Accessibility Act) – https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32019L0882
  3. Contao Open Source CMS, home page ("Accessible", LTS support) – https://contao.org/en/
  4. Contao, feature list ("Accessible CMS") – https://contao.org/en/features
  5. Contao news, "Contao 5.0 is here!" (18 Aug 2022) – https://contao.org/en/news/contao-5-0-is-here
  6. Contao news, "Contao 5.4 – an iconic release" (15 Aug 2024) – https://contao.org/en/news/contao-5-4-an-iconic-release
  7. Contao news, "Contao 5.5 – five back-end boosters and much more" (18 Feb 2025) – https://contao.org/en/news/contao-5-5-five-back-end-boosters-and-much-more
  8. Contao news, "Contao 5.6.0 is available" (18 Aug 2025) – https://contao.org/en/news/contao-5-6-0-is-available
  9. Contao news, "Contao 5.7 LTS – unlimited possibilities with limited width" (18 Feb 2026) – https://contao.org/en/news/contao-5-7-lts-unlimited-possibilities-with-limited-width
  10. Contao Manual, File Manager: Metadata – https://docs.contao.org/5.x/manual/en/file-manager/meta-data/
  11. Contao Manual, Text elements (Heading, Text / TinyMCE) – https://docs.contao.org/5.x/manual/en/article-management/content-elements/text-elements/
  12. Isotope eCommerce, "The most used store extension for Contao" (news list incl. "Launching the Private Beta for Contao 5", 24 Jun 2026) – https://isotopeecommerce.org/en/
  13. European Disability Forum & IAAP, "Accessibility overlays don't guarantee compliance with European legislation" (17 May 2023) – https://www.edf-feph.org/accessibility-overlays-dont-guarantee-compliance-with-european-legislation/
  14. US Federal Trade Commission, "FTC Approves Final Order Requiring accessiBe to Pay $1 Million" (22 Apr 2025) – https://www.ftc.gov/news-events/news/press-releases/2025/04/ftc-approves-final-order-requiring-accessibe-pay-1-million

See what a scan finds on your site

One page in about thirty seconds, no email needed. The full report covers up to 100 pages and a keyboard journey.