WORK-655
ID:WORK-655Status:draft

link wraps blocks, and card and bento-cell href render through it

Only card and bento-cell can make a whole region a link, each through its own href. card's stretched overlay is aria-hidden="true" tabindex="-1", so keyboard and screen-reader users cannot reach it. SPEC-160 D8 extends the existing link tag to wrap blocks, and both href attributes become shorthand that renders through it.

Priority:mediumComplexity:moderateMilestone:v0.43.0Source:SPEC-160
changeset-release/main View source

Criteria completion

Criteria completion: 0 of 8 (0%) checked; tracking started on Oct 24, no incremental history yet0%25%50%75%100%Oct 24Oct 28

Tracking started Oct 24 — check back for trends.

Branches 3
History 1
  1. 65f872e
    Created (draft)by github-actions[bot]

Acceptance Criteria

  • {% link %} accepts block content and renders a real <a> around it when it holds no links, buttons or form controls
  • The choice between wrap and stretch is made in the identity transform, so links added later (entity auto-links, resolved {% ref %}) are seen; a test asserts that a link around content that gains an auto-link in postProcess renders the stretched form, with no nested <a>
  • When the content is interactive, link renders a stretched <a data-name="link"> inside the wrapped rune's root, focusable and labelled by aria-label when given, else by the content's title slot
  • link emits no data-rune, and a test asserts that a schema property inside a link still publishes
  • An empty href renders the content unchanged
  • card's and bento-cell's href render through link and are not deprecated
  • The changeset says that linked cards and bento cells are now reachable by keyboard and screen readers, one tab stop per card
  • Contracts are regenerated on both copies and the diff reviewed

References

  • SPEC-160: D8.
  • SPEC-145: D19 (name-resolution boundaries).