Bogen

Docs Accessibility and other legal requirements

Accessibility and other legal requirements

What the law in Austria and the EU asks of the websites, shops, apps, ads and e-mails people design in Bogen, and what Bogen's Accessibility and legal check (compliance_check) can and cannot see of it.

On this page (12)

Sources read on 13 November 2026, from the primary texts only: EUR-Lex for EU law, RIS for Austrian federal law, ETSI for EN 301 549, W3C for WCAG, and the official sites of the authorities named. Laws change; check the source before you rely on a date.

Bogen's check is a technical aid. It is not legal advice, not an audit and not a certification. It checks a design, not the built product, and most criteria need a person to test them. Whether a law applies to you depends on who offers what to whom. For anything uncertain, ask a lawyer or an accessibility auditor.

Law and standard are different things. Directives, regulations and Austrian acts are law. EN 301 549 and WCAG are technical standards: the law refers to them, and meeting the standard the Official Journal cites gives a presumption of conformity with the law's accessibility requirements. A standard alone creates no duty.

Accessibility

European Accessibility Act, Directive (EU) 2019/882

ELI, CELEX 32019L0882.

Austria: Barrierefreiheitsgesetz (BaFG)

BGBl. I Nr. 76/2023, RIS, Gesetzesnummer 20012316. It transposes the EAA for private products and services.

Web Accessibility Directive (EU) 2016/2102

ELI. Websites and apps of public sector bodies.

Austria: Web-Zugänglichkeits-Gesetz (WZG)

BGBl. I Nr. 59/2019, RIS, Gesetzesnummer 20010727. It covers websites and apps of federal bodies; each Land has its own law for its own bodies.

The standard: EN 301 549, and WCAG

What the accessibility check does

compliance_check (for agents) and Accessibility and legal check (in the editor: the command palette, or Design checks) check a page or an artboard against a profile:

ProfileWhat it holds
en-301-549EN 301 549 V3.2.1 chapter 9: the 50 WCAG 2.1 A and AA criteria and 9.6. The six WCAG 2.2 additions as advice, not counted.
wcag-2.2-aaThe 55 WCAG 2.2 A and AA criteria.
wcag-2.1-aaThe 50 WCAG 2.1 A and AA criteria.
eaa-bafgAs en-301-549, plus deciding scope and exemptions, and the information of BaFG § 14(2) and Anlage 3.
wzgAs en-301-549, plus the accessibility statement, the feedback mechanism and the complaint procedure of WZG § 4 and § 5.

Every criterion comes back failed (with its layers and a fix), passed, not applicable, or needs a person (with a short test). How each is reached:

  1. A failure a check found fails the criterion. A person's mark does not lift it: fix the design.
  2. Otherwise a person's mark decides: pass, fail or not applicable, with their name, the date and a note.
  3. Otherwise a criterion Bogen checks itself passes when its checks ran and found nothing.
  4. Otherwise a criterion about content the design does not have (video, sound, form fields, time limits) does not apply.
  5. Everything else needs a person, including every criterion Bogen checks only in part.

The overall status is Does not meet the profile while anything failed, Not decided yet while anything is open, and All criteria met as checked only when every criterion passed or does not apply, by the checks and by the people who marked them. Even then it is a record of checks, not a claim of conformance. The automated pass rate (criteria the checks passed, over those they decided) is reported separately and never stands for the status.

How much a design check can decide

Of the 55 WCAG 2.2 A and AA criteria, Bogen decides 5 itself (1.4.3 contrast, 1.4.10 reflow, 1.4.12 text spacing, 2.5.8 target size, 3.1.1 language of page), finds failures of 22 more that a person then decides, and leaves 28 to a person. For WCAG 2.1 and EN 301 549 V3.2.1 it is 5, 20 and 25, plus clause 9.6 for a person. Automated tools find a part of the problems; keyboard use, screen readers, media and anything that happens over time are tested by people, on the built page.

The checks, rendered in the same headless browser as screenshots and exports:

The checklist a person marks

What only a person can decide has a short test and Pass, Fail and Not applicable, with a note. Marks are stored in the file, per page, with the name of the person and the date, so they sync, undo and travel with the file. Agents read them; only a person makes them in the editor.

Accessibility statement and report

compliance_statement, and Accessibility statement in the editor, draft an Erklärung zur Barrierefreiheit in German and English in the sections of the EU model, from the check: status never better than the check allows, failed criteria as non-accessible content, the date and the method (self-assessment supported by Bogen), feedback and contact, and the enforcement procedure (the FFG under the WZG, the Sozialministeriumservice under the BaFG). What Bogen cannot know is marked [Ausfüllen: ...] or [Fill in: ...]. Export HTML and Export PDF (or export on compliance_check) write the whole report through Bogen's own export.

The full map of every criterion, its EN 301 549 clause, how Bogen checks it and the test for a person is at the end of this page.

Reminders, with their source, that compliance_check adds with legal: true (always in the editor). Bogen flags what a design can show, words it as something to look at, and lists the rest for a person. It never says whether something is lawful.

TopicWhat the source asksWhat Bogen looks forSource
ImpressumName, address, e-mail, register number and court, VAT number, chamber and supervisory authority where they apply, easy to reach.A link saying Impressum, Offenlegung or Imprint on a site-like page.ECG § 5(1)
OffenlegungOwner, business purpose, seat, and for media with opinion-forming content the line.The same link; the content is for a person.MedienG § 25
Company detailsCompany name, legal form, seat, register number and court on websites.For a person.UGB § 14(1), GewO § 63
Privacy noticeInformation when personal data is collected.A link saying Datenschutz or Privacy.GDPR art. 13
Cookies and trackersActive, informed consent before storing or reading data on the device, unless strictly necessary.A consent banner with accept and no reject; reject that looks weaker (no fill, a link next to a button, smaller text); choices ticked in advance; embeds of YouTube, Maps and others that load before consent.TKG 2021 § 165(3); EDPB Cookie Banner Taskforce report, 17 January 2023
Fonts from GoogleA German regional court found that remote Google Fonts sent visitors' IP addresses to Google without a legal basis. Not Austrian law; the Austrian DSB had not decided the question.Fonts the HTML export links from fonts.googleapis.com. Upload the font files to the file to host them with it.LG München I, 20 January 2022, 3 O 17493/20; DSB newsletter 4/2022
Order button"zahlungspflichtig bestellen" or an equally clear wording, or the consumer is not bound.The final button of a checkout and its words.FAGG § 8(2); Directive 2011/83/EU art. 8(2)
Information before the orderMain features, total price, delivery and payment, withdrawal, identity; right before ordering.For a person.FAGG § 4(1) and § 8(1)
Withdrawal button"Vertrag widerrufen" and "Widerruf bestätigen", reachable for the whole withdrawal period, for contracts concluded after 30 September 2026.Whether a shop shows it; it may be on an account page.FAGG § 13a; Directive (EU) 2023/2673
PricesGross prices including VAT and all charges; whether delivery is included.Prices with nothing about VAT or delivery.PrAG § 9(1); ECG § 5(2)
Price reductionsA reduction names the lowest price of the 30 days before, in the same channel.A discount or a crossed-out price.PrAG § 9a; Directive 98/6/EC art. 6a
Extras ticked in advanceExtra payments need express consent, not a default the consumer must untick.Ticked boxes in a shop.Directive 2011/83/EU art. 22
UrgencyFalsely claiming that an offer is available only for a very limited time is always unfair."Nur noch heute", "only 3 left", countdowns.UWG Anhang Z 7; Directive 2005/29/EC Annex I point 7
Steering and shamingAggressive practices; deceptive design patterns; platforms must not deceive or manipulate through their interface.A "no" worded to shame.UWG § 1a; EDPB Guidelines 03/2022; DSA art. 25
Environmental claimsSince 27 September 2026, generic claims ("umweltfreundlich", "klimaneutral") only with recognised excellent environmental performance; claims based on offsetting not at all.Such words in the copy.UWG Anhang Z 4a to 4c; Directive (EU) 2024/825
Advertising labelsPaid content labelled "Anzeige", "Werbung" or "entgeltliche Einschaltung"; commercial communication recognisable.An artboard named as an ad or sponsored content without such a label.MedienG § 26; ECG § 6
AI-made picturesDeployers disclose deepfakes clearly, at the latest on first exposure (art. 50(4), (5)); providers mark synthetic output machine-readably (art. 50(2)), applying since 2 August 2026, for systems on the market before then from 2 December 2026.A picture marked as AI-made (data-ai-generated="true", or its name or data-source) with no label near it.AI Act art. 50; Regulation (EU) 2026/1744
Advertising e-mailPrior consent; an opt-out in every message.A newsletter without an unsubscribe link.ECG § 7; TKG 2021 § 174
Rights in the designEach font, picture, icon and third-party mark needs a licence or permission for this use.Pictures without a recorded licence or source (data-license, data-credit, data-source).UrhG
Geo-blockingNo blocking or redirecting by nationality or residence without consent.For a person.Regulation (EU) 2018/302 art. 3

Also worth knowing:

Criterion map

How each WCAG 2.1 and 2.2 criterion of level A and AA is checked. auto: Bogen decides it from the design. partial: Bogen finds some failures, and a person decides. manual: a person decides.

WCAGNameLevelSinceEN 301 549 V3.2.1BogenRulesTest for a person
1.1.1Non-text ContentA2.09.1.1.1partiala11y:alt, a11y:name, axe-coreFor every image, icon and chart, read its text alternative without looking at it: it says what the picture says or does, and a decorative one has alt="".
1.2.1Audio-only and Video-only (Prerecorded)A2.09.1.2.1manualbogen:mediaFor every recording with only sound or only pictures, there is a transcript or an audio track that says the same.
1.2.2Captions (Prerecorded)A2.09.1.2.2manualbogen:media, axe-corePlay each video with the sound off. Every spoken word and important sound has a caption.
1.2.3Audio Description or Media Alternative (Prerecorded)A2.09.1.2.3manualbogen:mediaWatch each video without looking: what is only shown is also said, in an audio description or a full text alternative.
1.2.4Captions (Live)AA2.09.1.2.4manualbogen:mediaA live stream with sound has live captions.
1.2.5Audio Description (Prerecorded)AA2.09.1.2.5manualbogen:mediaEach video has an audio description of what is only shown.
1.3.1Info and RelationshipsA2.09.1.3.1partiala11y:heading-order, a11y:landmarks, bogen:required-label, axe-coreTurn off the styles, or use a screen reader: headings, lists, tables, labels and groups still read as what they look like.
1.3.2Meaningful SequenceA2.09.1.3.2manualRead the page in the order of its layers, as a screen reader does (see focus_order): the order still makes sense.
1.3.3Sensory CharacteristicsA2.09.1.3.3manualNo instruction relies only on shape, colour, size, place or sound, such as "press the round button on the right".
1.3.4OrientationAA2.19.1.3.4partialaxe-coreTurn the phone or tablet: the page works upright and sideways, unless one orientation is essential.
1.3.5Identify Input PurposeAA2.19.1.3.5partialbogen:autocomplete, axe-coreEach field that asks for the person's own data (name, e-mail, address, phone) has the right autocomplete value.
1.4.1Use of ColorA2.09.1.4.1partialaxe-coreLook at the page in greyscale: links, errors, required fields and chart series can still be told apart.
1.4.2Audio ControlA2.09.1.4.2manualbogen:mediaSound that plays by itself for more than 3 seconds can be paused or turned down on its own.
1.4.3Contrast (Minimum)AA2.09.1.4.3autoaxe-coreText has a contrast of 4.5:1 with its background, large text 3:1. Text over pictures and gradients is checked by eye.
1.4.4Resize TextAA2.09.1.4.4partialbogen:resize-textZoom the browser to 200 %: all text grows, nothing is cut off or overlaps, and every function still works.
1.4.5Images of TextAA2.09.1.4.5manualText is real text, not a picture of text, except a logo or where the look is essential.
1.4.10ReflowAA2.19.1.4.10autobogen:reflowAt 320 CSS px wide (1280 px at 400 % zoom) nothing needs scrolling sideways, except tables, maps and similar content.
1.4.11Non-text ContrastAA2.19.1.4.11partialbogen:non-text-contrast, a11y:focus-visibleField borders, icons, focus rings, chart lines and the states of controls reach 3:1 against what is around them.
1.4.12Text SpacingAA2.19.1.4.12autobogen:text-spacingWith line height 1.5, paragraph spacing 2, letter spacing 0.12 and word spacing 0.16 times the font size, no text is cut off or overlaps.
1.4.13Content on Hover or FocusAA2.19.1.4.13manualTooltips and menus that appear on hover or focus can be closed with Escape, can be hovered themselves, and stay until moved away from.
2.1.1KeyboardA2.09.2.1.1partialaxe-corePut the mouse away. Reach and use every link, button, field and menu with Tab, Shift+Tab, Enter, Space and the arrow keys.
2.1.2No Keyboard TrapA2.09.2.1.2manualTab through the whole page, into and out of every widget, dialog and embed: focus never gets stuck.
2.1.4Character Key ShortcutsA2.19.2.1.4manualShortcuts of a single letter or number can be turned off or changed, or work only while their control has focus.
2.2.1Timing AdjustableA2.09.2.2.1manualaxe-coreEvery time limit can be turned off, adjusted or extended, unless it is real-time or essential.
2.2.2Pause, Stop, HideA2.09.2.2.2partialbogen:endless-motion, axe-coreAnything that moves, blinks or scrolls by itself for more than 5 seconds, and anything that updates itself, can be paused, stopped or hidden.
2.3.1Three Flashes or Below ThresholdA2.09.2.3.1manualNothing flashes more than three times in any second.
2.4.1Bypass BlocksA2.09.2.4.1partiala11y:landmarks, axe-coreThere is a way past repeated blocks such as the navigation: a skip link, landmarks or headings.
2.4.2Page TitledA2.09.2.4.2partialbogen:page-titleEach page has a title in the browser tab that says what it is about.
2.4.3Focus OrderA2.09.2.4.3partialbogen:tabindexTab through the page (see focus_order): focus moves in an order that keeps the meaning and lets you work.
2.4.4Link Purpose (In Context)A2.09.2.4.4partiala11y:link-text, a11y:name, axe-coreRead each link with its sentence or list item: it is clear where it goes.
2.4.5Multiple WaysAA2.09.2.4.5manualEach page of a site can be found in more than one way, such as navigation, search or a site map.
2.4.6Headings and LabelsAA2.09.2.4.6partiala11y:heading-orderHeadings and labels say what the section or the field is about.
2.4.7Focus VisibleAA2.09.2.4.7partiala11y:focus-visibleTab through the page: you can always see where focus is.
2.4.11Focus Not Obscured (Minimum)AA2.2V4.1.1 onlypartialbogen:stickyTab through the page: a focused element is never completely hidden by a sticky header, footer, banner or chat.
2.5.1Pointer GesturesA2.19.2.5.1manualWhat needs a swipe, pinch or a path also works with a single tap or click, such as buttons for a carousel.
2.5.2Pointer CancellationA2.19.2.5.2manualActions happen when the finger or button is released, and can be undone by moving away first.
2.5.3Label in NameA2.19.2.5.3partialbogen:label-in-name, axe-coreThe accessible name of each control contains its visible words, so that people who speak commands can say what they see.
2.5.4Motion ActuationA2.19.2.5.4manualWhat reacts to shaking or tilting the device also works with a control, and the motion can be turned off.
2.5.7Dragging MovementsAA2.2V4.1.1 onlymanualEverything that can be dragged, such as a slider or a sortable list, also works with single taps or clicks.
2.5.8Target Size (Minimum)AA2.2V4.1.1 onlyautoa11y:target-size, axe-coreEach target is at least 24 by 24 CSS px, or has room around it, or is a link in a sentence.
3.1.1Language of PageA2.09.3.1.1autobogen:lang-page, axe-coreThe page says its main language (lang on html), and it is the right one.
3.1.2Language of PartsAA2.09.3.1.2partialbogen:lang-parts, axe-corePassages in another language than the page carry their own lang, except names and words that are part of the language.
3.2.1On FocusA2.09.3.2.1manualMoving focus onto something never opens a new window, submits a form or moves you elsewhere by itself.
3.2.2On InputA2.09.3.2.2manualChoosing an option or typing never changes the page in a big way unless you were told it would.
3.2.3Consistent NavigationAA2.09.3.2.3manualNavigation that repeats across pages stays in the same order.
3.2.4Consistent IdentificationAA2.09.3.2.4manualThings that do the same are named the same on every page, such as one search icon with one name.
3.2.6Consistent HelpA2.2V4.1.1 onlymanualHelp that repeats across pages (contact, chat, FAQ) is in the same place each time.
3.3.1Error IdentificationA2.09.3.3.1partialbogen:error-identificationSend each form with mistakes: every error is named in text next to its field, not only by colour.
3.3.2Labels or InstructionsA2.09.3.3.2partiala11y:name, bogen:required-label, axe-coreEach field has a visible label, and required fields and formats are said before someone types.
3.3.3Error SuggestionAA2.09.3.3.3manualWhen an error is found and a fix is known, the message says how to fix it.
3.3.4Error Prevention (Legal, Financial, Data)AA2.09.3.3.4manualOrders, contracts and changes to stored data can be checked and corrected before they are final, or undone.
3.3.7Redundant EntryA2.2V4.1.1 onlymanualIn a process with several steps, nobody has to type the same thing twice; it is filled in or can be chosen.
3.3.8Accessible Authentication (Minimum)AA2.2V4.1.1 onlypartialbogen:passwordSigning in needs no puzzle or memory test: password managers and pasting work, or there is another way.
4.1.1ParsingA2.0, removed in 2.29.4.1.1autobogen:duplicate-idObsolete in WCAG 2.2. In EN 301 549 V3.2.1 it still applies: the markup has no duplicate ids and well-formed elements.
4.1.2Name, Role, ValueA2.09.4.1.2partiala11y:name, axe-coreWith a screen reader, every control says what it is, its name and its state, such as "Menu, button, collapsed".
4.1.3Status MessagesAA2.19.4.1.3manualMessages such as "Added to cart" or "3 results" are announced by a screen reader without moving focus (role="status" or "alert").
WCAG conformance requirements9.6manualThe whole page conforms, every page of a process conforms, technologies are used in an accessibility supported way, and nothing interferes with the rest of the page.