fix(website): reachable dropdowns, one h1 per page, and the content a reference sweep found missing
A pointer-level test and a page-by-page diff against the reference site, rather
than reading the markup.
Dropdowns could be opened but not used. The panel sat 4px below its trigger with
nothing in the gap, and the menu closed the instant the pointer left the
trigger's box — so travelling to an item crossed dead space and the menu shut
before the click landed. The panel now starts flush against the trigger
(`top-full`, padding inside the panel rather than a margin outside it), and the
close is delayed and cancellable. Same contract applied to the language
switcher, which had the identical gap. Verified by dispatching real mouse moves
along the path a hand takes: the menu survives the trip and the click lands on
/en/football.
`columns` silently dropped its children. It reads them from slots col1..colN, so
a child in the generic `default` slot — what a blueprint import or a hand-built
tree naturally produces — matched no column and vanished with no error and no
empty box. That is how the about-us video disappeared. Loose children are now
dealt out across the columns.
Nine of eleven pages had no h1 at all. Blocks hardcoded their heading level, so
whichever section carried a page's title rendered as h2 and the document had no
top-level heading. `heading_level` is now part of the section-header contract
(and of text_image, video, profile_card, contact_form, app_download, cta,
rich_text), so the section carrying the page title is an authoring decision
rather than an accident of which block was used. Every page now has exactly one.
Also from the sweep:
- El3ab's entire privacy policy — nine sections, both languages — was absent
from our page. Restored from the reference render.
- The line the reference shows above its contact form was missing; contact_form
gains `form_intro`.
- The chairman's name was a <p> on top of the portrait; it is a heading.
- Footer column titles were <h4> with no <h3> above them, a skipped level in the
outline screen readers navigate by. Promoted to <h3>.
- `heading_rule` had been added to app_download *inside* its features repeater,
so every feature row offered a meaningless "underline" control and the section
heading offered none. Moved to where the heading actually is.
Verified: 22 page/locale combinations answer 200 with no logged block failures,
137 block/variant combinations render, every page has exactly one h1, the
carousel still does not scroll the page, and the suite passes.
Co-Authored-By:
Claude Opus 5 (1M context) <noreply@anthropic.com>
Showing
Please register or sign in to comment