Batch 4 — PASS fixture

The same four criteria, done correctly. Every check must produce zero findings on this page.

Two of the four are page-level: a page either locks orientation or it does not, and either honours reduced motion or does not. There is no way to put a failing and a passing example of those on one page, which is why this is a second file rather than more cases in the first.

1.3.4 Orientation

A layout that reflows by orientation and stays usable either way up.

The stylesheet has an orientation media query, but it only changes flex-direction. Nothing is hidden and nothing is rotated.

2.3.3 Animation from Interactions

Hover me — I still slide, unless you asked not to.

Identical motion to the FAIL fixture, plus a @media (prefers-reduced-motion: reduce) block that reduces every animation and transition to nothing. The animation is not the problem; the absence of a way out of it was.

1.4.8 Visual Presentation

Left aligned, never justified. Line-height 1.7, comfortably above the 1.5 minimum. A measure of sixty-four characters, under the eighty-character cap. All three of the sub-requirements this check reads are satisfied, and there is nothing here to report.

3.3.1 Error Identification


Enter an email address in the format name@example.com.


The first field is in an error state and names its message through aria-describedby, and the message element exists. The second is not in an error state at all.


Expected result

Zero findings from 1.3.4, 1.4.8, 2.3.3 and 3.3.1.

If this page reports anything from those four, the check has a false positive and is not ready. Run it before the FAIL fixture — a check that finds problems is easy to write, and a check that stays quiet on correct code is the hard half.

Other criteria may still report on this page. It is a plain HTML document with no landmarks, so region and heading rules will have something to say. Only the four above are being tested here.