web: the facet column is a disclosure below 62rem !439

merged merged by cmc on 2026-09-20 01:24 UTC · krz/gitbay:facet-disclosure into main

Discussion

cmc

Below 62rem the facet column stacked after the list as ragged inline-block groups of unbounded length, so on the issue, merge request and build lists the filters were taller than what they filtered.

Content. listFacets emitted every label and open milestone whatever its count: the merge request list offered all 26 of this repository's labels, 25 of them linking to an empty list. A zero count is left out now unless it is the filter in force, which stays so it can be cleared. buildFacets caps the branch group at ten, keeping the ref in force wherever it sits; the branch field below the column still takes any ref.

Layout. The groups sit in a details.sidedrop. Below 62rem that disclosure is the column: one closed line before the list, headed by its word and the filters in force. Above 62rem the summary is hidden and ::details-content shown whatever the open state, so the column is what it was. The @supports selector(::details-content) guard is the fail-safe — an engine without it keeps a working toggle at every width rather than losing the column. The nav and its aria-label stay outside the disclosure, so the landmark is unchanged.

Rule 7 of the desktop layout spec is amended with the reason, and the unreleased v1.31.0 changelog entry describes what ships.

Checked. go build, go vet ./..., the httpd, web, control and policy package tests. Rendered every page that has a column against a local instance seeded with this repository's label vocabulary, at 800px closed and open and at 1280px. An axe scan of the eight pages at 800px reports the same two nodes as a build of main over the same data, both in markup this branch does not touch: a 22px-tall chip label on the issue list (target-size) and an empty <th scope="col"> in the account page's key table (empty-table-header).

Closes #237