# Accessibility Statement

Hafen is a block theme built entirely from WordPress core blocks. Its job is
presentation: colors, spacing, typography and the styling of the core
navigation, search and comment blocks. The accessibility mechanics of those
blocks (dialog roles, focus trapping, Escape handling, labels) come from
WordPress core, and the theme is written so that it never removes or hides
them. Every release is measured for color contrast across all 38 style
variations, checked with a keyboard only, and checked for reflow and text
spacing before it is published. The theme has not been audited by an
independent party.

## Quick Information

- Accessibility audit completed: No (self-assessment by the theme author only)
- Most recent audit date: 2026-09-21
- Tested to standard and conformance level: WCAG 2.2 AA (partially supports, self-assessed)
- Audited by: hafenstudios (theme author)

## Testing Tools and Methodology

- Keyboard-only navigation in Chrome at 320, 375, 768 and 1280 px: skip link,
  header, mobile menu overlay (open, tab through every item, Escape, focus
  return to the menu button), desktop drop-down menus, search and comment
  forms.
- Automated contrast measurement of every text, control and focus-ring color
  pair that the theme ships, run against all 38 style variations with the
  WCAG 2.1 AA thresholds (4.5:1 for text, 3:1 for controls and focus rings).
  The script lives in the development repository and runs before each release.
- Reflow check at 320 px CSS width, at 200 % text size and with the WCAG text
  spacing values (line height 1.5, letter spacing 0.12 em, word spacing
  0.16 em, paragraph spacing 2 em): no horizontal scrolling, no clipped text.
- prefers-reduced-motion emulation: scroll reveal and header transitions must
  be off.
- Review of the rendered markup on the home, blog, single post, search and 404
  templates: one skip link, landmarks and their names, heading levels, form
  labels, link targets.
- Screen reader testing (NVDA, VoiceOver) has not been done by the author for
  this version. Reports from screen reader users are welcome, see below.

## Screen Reader Text Class

`.screen-reader-text`

This is the WordPress core class, loaded on every page with the block
library styles. The theme uses it as is and does not redefine it.

## Accessibility Features

- One skip link ("Skip to content") as the first focusable element on every
  template, visible on focus, leading to the `<main>` landmark. The theme
  removes the duplicate that core adds, so it is announced once.
- Visible keyboard focus on every link and control: a 2 px outline in the
  brand color with a 2 px gap and a 4 px light halo, measured at 3:1 or
  better against the page background in all style variations. The ring
  follows rounded shapes.
- Landmarks: banner, navigation ("Main menu" and "Footer menu"), main and
  contentinfo, each with a distinct accessible name.
- Heading order without gaps: post cards in listings use h2 titles with the
  title as the one link of the card, the comment form title is an h2.
- Links inside body text are underlined; on hover they stay underlined and
  change color.
- Mobile menu: the core overlay dialog with focus trap, Escape and focus
  return. Menu rows are at least 44 px tall, the menu and close buttons are
  44 px, the menu button carries a visible text label, and menu item links
  are 16 px or larger. The overlay scrolls when the menu is long or
  the text is enlarged.
- Anchor jumps and the skip link land below the sticky header instead of
  behind it (scroll padding measured from the real header height).
- Motion: the scroll reveal effect and header transitions are disabled when
  the operating system asks for reduced motion. Nothing autoplays, flashes or
  loops.
- Color contrast: text at 4.5:1 and controls at 3:1 in all 38 style
  variations, including the dark ones; native form controls follow the light
  or dark color scheme of the variation.
- Body text and heading sizes are fluid and set in rem, so browser text zoom
  works.
- Form fields in the search and comment forms have visible labels from core;
  focus is shown with the focus ring and a stronger border.

## Known Limitations

- Decorative icon boxes in the page patterns show white icons on brand
  gradients below 3:1. They are marked `aria-hidden` and carry no meaning.
- The header stays sticky at low viewport heights (for example 400 % zoom on
  a 1280 px screen); it is 72 to 84 px tall.
- Desktop menu items have a click area of about 29 px height (above the
  24 px minimum, below the 44 px recommendation).

## Accessibility Help Contact

https://wordpress.org/support/theme/hafen/

## Where to Report Issues

https://wordpress.org/support/theme/hafen/
