Skip to content

MilestonesPage's milestone card titles also skip from h1 directly to h3 with no h2 in between #282

Description

@chonilius

src/app/milestones/page.tsx#MilestonesPage has the same heading-level-skip pattern as
/issues (see the related BountyCard issue), independently, in its own markup:

<h1 className="mt-2 text-3xl font-semibold ...">Milestone funding</h1>
...
{milestones.map((m) => (
  <div key={m.id} ...>
    ...
    <h3 className="mt-1 font-medium text-slate-900 dark:text-white">{m.name}</h3>
    ...

Each milestone card's name jumps straight to <h3> with no <h2> anywhere in the
milestones grid section preceding it — this page's only other heading is the later
<h2 className="mt-16 ...">Recurring maintenance pools</h2>, which comes after the
entire milestones grid, so every milestone card's <h3> is left with no <h2> ancestor
at all until the reader has already passed the whole section. This is the same class of
WCAG heading-level-skip issue as /issues, occurring independently on this route because
each page constructs its own heading structure with no shared layout component enforcing
a consistent level progression.

Suggested fix: add an <h2> for the milestones grid section (e.g. a visually-hidden or
visible "Active milestones" heading) before the cards, so <h3> milestone names have a
proper <h2> ancestor, consistent with the fix suggested for /issues.

Metadata

Metadata

Assignees

Labels

Stellar WaveIssues in the Stellar wave programaccessibilityAccessibility (a11y) issueenhancementNew feature or requesthelp wantedExtra attention is neededvery hardVery difficult task, expert-level effort required

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions