a11y(2.5.8): chip — pad remove button to 24×24 CSS px minimum#3544
Conversation
The remove button rendered at ~16×16 px (bare Icon, no padding), falling below the WCAG 2.5.8 24×24 minimum. Adding p-1 (4 px per side) expands the hit area to exactly 24×24 while keeping the visible close icon unchanged. inline-flex items-center justify-center ensures the icon stays centred within the enlarged target. A11y-Audit-Ref: 2.5.8-chip-remove-button Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…erate Adds the audit fix-doc manifest entry referenced by this PR's A11y-Audit-Ref trailer, so the triage workflow resolves the slug instead of labeling it a11y:broken-ref. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
|
@rosanusi just FYI the PR statement is incorrect about two things:
Explanation:
But the "filter chips" on the workflows list are not that component. Tracing the render path, the workflows filter bar (filter-list.svelte:104) builds its active-filter pills from DropdownFilterChip and StatusFilterChip, which are Button-based dropdown pills (chevron ▾, click-to-edit) — they have no × remove button and no .chip markup at all.
|
Auto-generated version bump from 2.51.0 to 2.51.1 Specific version: 2.51.1 Changes included: - [`c848ec54`](c848ec5) fix(a11y): announce workflow / event status on timeline graph nodes (WCAG 1.4.1) (#3443) - [`af6b12a9`](af6b12a) fix(deployments): align version/status/compute badges in worker deployments table (#3489) - [`df86587c`](df86587) Add SDK version to standalone activity details (#3447) - [`59695290`](5969529) Use shared FilterBar component for workflows (#3448) - [`ded94469`](ded9446) Set display contents in wrapper div if no afterLabel in Input component (#3513) - [`d7e5eb43`](d7e5eb4) fix(standalone-activities): decode failure encodedAttributes in activity detail (#3507) - [`81a255a9`](81a255a) fix(DT-4151): fix bottom nav scrollability and double-menu on mobile (#3514) - [`368f646e`](368f646) Fix exports to work properly with vite8 (#3519) - [`231bdaff`](231bdaf) chore(deps-dev): bump vitest from 3.2.4 to 3.2.6 (#3509) - [`1de44ea6`](1de44ea) fix(workers): soften no-workers-polling alert for serverless worker deployments (#3524) - [`689955a8`](689955a) fix(DT-4080): surface error when validate connection has no compute config, warn on set current (#3516) - [`93323db9`](93323db) feat(DT-4078): Add Set Ramping Version to Worker Deployment Versions (#3508) - [`9d3450c0`](9d3450c) fix(DT-4081): surface task queue not registered error in validate connection modal (#3517) - [`b7f56237`](b7f5623) feat(DT-4079): miscellaneous WD UI fixes (#3511) - [`83b2d4ec`](83b2d4e) feat(deployments): simplify create worker deployment UX (#3518) - [`ccb4cb73`](ccb4cb7) Standalone Activity write guards (#3534) - [`ab20ef03`](ab20ef0) Worker insights UI updates (#3520) - [`aaf63bdc`](aaf63bd) [wcag] Replace text-[12px] with text-xs in DatePicker action buttons (SC 1.4.4) (#3525) - [`743be902`](743be90) a11y(2.4.3): replace flex-wrap-reverse with flex-wrap on workflow history toolbar (#3527) - [`41b73e87`](41b73e8) a11y(2.4.2): ui-main — set distinct, descriptive titles on login/signin, task-queues list, and activity-workers sub-tab (#3535) - [`3d64cdbf`](3d64cdb) [WCAG 2.4.3] group-details-row — remove redundant outer focus stop on <g> wrapper (#3537) - [`883e5db1`](883e5db) a11y(2.4.6): datepicker — replace empty label with translate('common.start') (#3543) - [`9da915e2`](9da915e) a11y(2.4.5): import history — add back-link to Import landing page (#3542) - [`ca4c1d61`](ca4c1d6) Cache new Intl.DateTimeFormat (#3565) - [`38376e4d`](38376e4) Fix required activity timeout inputs on Start a Standalone Activity form (#3567) - [`49d7c9e4`](49d7c9e) Use separate copy for title vs menu item (#3568) - [`3c7dcdc3`](3c7dcdc) a11y(2.5.8): pagination — grow caret buttons from 12×12 to 24×24 CSS px (#3547) - [`b5171825`](b517182) a11y(2.5.8): chip — pad remove button to 24×24 CSS px minimum (#3544) - [`1fea5d5c`](1fea5d5) a11y(2.1.1): fake-button widgets — replace deprecated onkeypress with onkeydown handling Enter and Space (#3528) - [`5bf09000`](5bf0900) a11y(2.1.1): navigation primitives — replace hover-only CSS :after label tooltip with focusable Tooltip (#3529) - [`deed43f0`](deed43f) a11y(2.1.1): event summary row — add keyboard-accessible expand control alongside the mouse-only <tr onclick> (#3526) - [`d401123e`](d401123) a11y(2.5.8): checkbox — add min-h-6 min-w-6 to Label for 24×24 hit area (#3545) - [`aef4166f`](aef4166) [a11y] Expose toggled state via aria-pressed on ToggleButton (#3559) - [`797f8831`](797f883) Show single attempt in Standalone Activity details (#3572) - [`893bc58c`](893bc58) feat(DT-4183): Add Tabs (Primitive) (#3574) - [`323c1993`](323c199) Date picker input field bug/kt (#3522) - [`3ac34ce2`](3ac34ce) Various serverless UI updates (#3573) - [`f365416a`](f365416) a11y(2.1.1): ZoomSvg — add keyboard pan/zoom controls so the workflow family tree is operable without a mouse (#3530) - [`feb6897e`](feb6897) Fix gaps in slot cards on worker details page (#3580) - [`b3c80072`](b3c8007) Remove font weight on cache size (#3583) - [`0e7337ea`](0e7337e) Bump API to v1.62.14 (#3575) Co-authored-by: laurakwhit <[email protected]>




Description
The chip remove button (
<button><Icon name="close" /></button>) had no padding and no explicit size, so its hit area collapsed to ~16×16 CSS px — below the WCAG 2.5.8 (Target Size Minimum, Level AA) requirement of 24×24.Fix: add
inline-flex items-center justify-center p-1to the button's class.p-1is 4 px each side, expanding the hit area to exactly 24×24 (4 + 16 + 4). The visible close icon is unchanged;merge()is already imported in the file. The button'sdisabled ? 'hidden' : ''hide behaviour is preserved.The
IconButtonapproach (recommended in the audit issue) was considered but deferred:chip.svelteis already in Svelte 5 runes mode whileicon-button.svelteis Svelte 4 —Buttonexplicitly typesonclickasnever, and usingon:clicksyntax in a runes component triggers deprecation warnings. The padding approach satisfies 2.5.8, has zero interop risk, and keeps the diff minimal. A follow-on migration toIconButtoncan happen as part of the broader Svelte 5 component migration.Changed file:
src/lib/holocene/chip.svelte— 4 lines added to the remove button'sclass.This fix cascades to all Chip consumers in both
ui-mainandcloud-ui-main(via the@temporalio/uitarball).Screenshots
No visual change — close icon stays 16×16 px; padding is transparent. Hit area grows from ~16×16 to 24×24.
Design
No design changes. The chip's outer
min-h-7(28 px) container accommodates the 24-px button height with 2 px headroom each side.Testing
Checklist
@temporalio/uitarballDocs
No documentation changes required.
A11y-Audit-Ref: 2.5.8-chip-remove-button