Repository navigation
test(InfoTip): the audit reads a hit area only where its layer draws one - #10050
Conversation
The InfoTip audit read the button's ::after insets and required each to be 0 under a fine pointer. InfoTip's hit area is now the shared touch layer, which draws its ::after only under a coarse pointer. Under a fine pointer the ::after has no content, so it draws no box, and its insets read auto. The audit now reads the insets only where the ::after draws a box, and still requires 0 there.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
AI review status for this pull request.
|
PR Analysis Report🔎 Preview ·
|
| Component | Size | LoC | Visual · A11y · RTL |
|---|---|---|---|
| InfoTip · Storybook | 38.3 kB (0) · 5.1 kB CSS (0) | 148 (0) | — · ✓ · — |
Package size: no published package changed; no new dependencies.
API changes: none in this pull request
Committed API report behind this build: cli 9 rows, core 4 rows; run pnpm api:report.
Touched components checked; add ci:run-visual, ci:run-a11y or ci:run-rtl to run the full suites.
Generated by PR Enrichment workflow | View full report
There was a problem hiding this comment.
Approved pending CI: CI has not run on this head yet.
The audit now skips the inset read only where the button's ::after draws no box and still fails a hit area that grows under a fine pointer, which matches component:InfoTip AR1 and spec:AST-094 FR42; InfoTip itself is unchanged.
Next step: mark the pull request ready for review, and a maintainer adds the ci:run label so CI runs (the label takes effect on the next push or a close and reopen).
[Automated review]
There was a problem hiding this comment.
Approved pending CI: CI has not finished on this head yet.
The audit now skips the inset read only where the info button's ::after draws no box, and still fails a hit area that grows under a fine pointer, which matches component:InfoTip AR1 and spec:AST-094 FR42; InfoTip itself is unchanged.
[Automated review]
Maintainer impact
The release check on main fails "Accessibility spec-test contracts": all 17 InfoTip audit cases stop at
InfoTipAudit.a11y.chromium.spec.ts:444, "button 0 (sm) grows under a fine pointer: auto auto auto auto". It started when #8085 merged, right after the audit landed in #9940; main just before #8085 passes all 17.Intended invariant
component:InfoTipAR1: under a coarse pointer the button reaches 44 px through an invisible hit area; under a fine pointer the button keeps its own box (spec:AST-094FR42). The audit checks that the hit area does not grow under a fine pointer.Change
The audit read the button's
::afterinsets and required each to be 0. That fit InfoTip's earlier hit area, which set the insets for every pointer. Since #8085, InfoTip uses the shared touch layer, which gives the::afterits content, position and insets only under a coarse pointer. Under a fine pointer the::afterhas no content, so it draws no box: there is no hit area, and its insets readauto. The audit now reads the insets only where the::afterhas content, and still requires 0 there. The product is unchanged.Why the audit and not the product:
autohere belongs to a pseudo-element that draws no box, so no user can reach it. Setting the insets to 0 would put back a box the layer does not draw, only for the audit to read.Evidence
Chromium, the InfoTip Sizes story, main e657e2e against main before #8085 (38f1a1d):
::afterreads contentnone, positionstatic, insetsauto, and a point 3 px outside each edge hits the page, not the button. Before feat(List): a row's touch target grows toward 44 px where its neighbors leave room #8085 it read content"", positionabsolute, insets0px, with the same hits. Under a coarse pointer both read the same band (for the sm button: -14 px, -8 px, -14 px, -14 px), and points 3 px out hit the button.::aftergrown 4 px under every pointer, all 17 fail with "-4px -4px -4px -4px".Scope
Testing
The grown hit area, as a commit not for landing: 2bc67de.