Checked 9/24/2026 · https://www.spiegel.de/
1 critical barrier · plus 4 to check.
Since the previous scan: no change.
How is the score formed? (100 starting points)
| 21 button(s) without a name in the HTML | -18 |
| 1 form fields without a recognisable label | -7 |
| 3 link(s) without a recognisable name in the HTML | -7 |
| No <h1> heading in the delivered HTML | -7 |
| 5 CSS rulen with possibly too low text contrast | -7 |
| Result | 54 / 100 |
Perceivable
1 form fields without a recognisable label
Check whether there is an aria-label set via JavaScript.
<input name="suchbegriff" id="search-input-field" placeholder="Seite durchsuchen ...">
This is what you should do: Link each field to a <label for> element or set aria-label / aria-labelledby. A placeholder alone is not enough.
5 CSS rulen with possibly too low text contrast
Required: 4.5:1 (normal) or 3:1 (large text). With an “assumed page background” the actual background could not be determined reliably — check in the browser if in doubt. Found among others: `.text-shade-base`: #989694 auf #ffffff (Standard) (Seitenhintergrund, angenommen) = 2.95:1 · `.debug.svelte-1x5iokp`: red auf #ffffff (Standard) (Seitenhintergrund, angenommen) = 4.00:1 · `.text-effi-primary-base`: #e64415 auf #ffffff (Standard) (Seitenhintergrund, angenommen) = 4.04:1 · `.text-shade-dark`: #807e7c auf #ffffff (Standard) (Seitenhintergrund, angenommen) = 4.04:1 · `.text-elf-primary-base`: #3c8771 auf #ffffff (Standard) (Seitenhintergrund, angenommen) = 4.29:1
.text-shade-base, .debug.svelte-1x5iokp, .text-effi-primary-base, .text-shade-dark, .text-elf-primary-base
This is what you should do: Darken the text colour or lighten the background until the relevant minimum value is reached. Never use colour as the only distinguishing feature.
Operable
21 button(s) without a name in the HTML
Buttons without text and without an aria-label are mute to screen readers — unless the name is set via JavaScript.
<button class="bg-white flex items-center justify-around bg-white d><button class="bg-white flex items-center justify-around bg-white d><button><button class="flex items-center justify-center my-auto rounded-cir>
This is what you should do: Add button text or set an aria-label.
3 link(s) without a recognisable name in the HTML
Empty links or just an icon/image without alt. An aria-label set via JavaScript is not recognised here.
<a target="_self" class="block svelte-1x5iokp"><a target="_self" class="flex flex-col text-black dark:text-shade-ligh<a target="_self" class="text-black dark:text-shade-lightest block">
This is what you should do: Add visible link text, or use aria-label or an image with alt for icon links.
No <h1> heading in the delivered HTML
Each page should begin with exactly one h1. On pages built via JavaScript the h1 may only appear in the browser — then check in the rendered DOM.
body
This is what you should do: Insert a meaningful <h1> as the first heading (ideally already server-side).
Already handled correctly
- Text alternatives: no automatically recognisable issues
- A skip link to the content exists
- A <main> landmark exists
Next steps
- 21 button(s) without a name in the HTML. Add button text or set an aria-label.
- 1 form fields without a recognisable label. Link each field to a <label for> element or set aria-label / aria-labelledby. A placeholder alone is not enough.
- 3 link(s) without a recognisable name in the HTML. Add visible link text, or use aria-label or an image with alt for icon links.
- No <h1> heading in the delivered HTML. Insert a meaningful <h1> as the first heading (ideally already server-side).
- 5 CSS rulen with possibly too low text contrast. Darken the text colour or lighten the background until the relevant minimum value is reached. Never use colour as the only distinguishing feature.
Weekly re-scan, JS-rendered, email on new barriers — coming soon.
Create an accessibility statement →
Method & limits
On 9/24/2026 the HTML that www.spiegel.de delivers on a first visit without login was checked, plus up to four linked CSS files from the same domain. Checked: colour contrast (from CSS), text alternatives, form labelling, names of controls, heading structure, page title and page language, zoom lock, duplicate ids, positive tabindex values, landmarks.
Not checked: anything that arises via JavaScript, keyboard operability, visible focus, focus order, screen-reader announcement, content behind login, subpages. The automated test finds roughly 20–35% of WCAG breaches — the rest needs a manual check. A snapshot, not a legal decision.
Overlay widgets (accessibility buttons that switch contrast or font size) do not make a site conformant — the barriers found have to be fixed in the source code. Why overlays don't help