English
a11yglass · Accessibility check for websites

Checked 9/24/2026 · https://www.spiegel.de/

D
54 / 100
1 critical · 4 to check

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
Result54 / 100
?Contrast (1)✓Text alternatives✕Labelling (3)?Structure (1)✓Language✓Zoom✓Robustness

Perceivable

To checkWCAG 1.3.1 Info and Relationships / 4.1.2 Name, Role, Value

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.

To checkWCAG 1.4.3 Contrast (Minimum)

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

CriticalWCAG 4.1.2 Name, Role, Value

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.

To checkWCAG 2.4.4 Link Purpose / 4.1.2 Name, Role, Value

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.

To checkWCAG 1.3.1 Info and Relationships / 2.4.6 Headings and Labels

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

Next steps

  1. 21 button(s) without a name in the HTML. Add button text or set an aria-label.
  2. 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. 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.
  4. No <h1> heading in the delivered HTML. Insert a meaningful <h1> as the first heading (ideally already server-side).
  5. 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.
Monitor this page automatically?

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

Check another website