fix(canvas): aria-hidden on 4 more decorative emoji/icon spans

BatchActionBar.tsx:
  - Clear selection button inner ✕ span: add aria-hidden="true"
    (matching the Delete All button pattern; aria-label on button already)

OrgImportPreflightModal.tsx:
  - "✓ set" spans (2×): add aria-hidden="true"
    Decorative checkmark paired with "set" text — text is the accessible name.

ChatTab.tsx:
  - Activity log bullet ◇: wrap in aria-hidden span
    Pure visual bullet for log lines; text content is the accessible name.

ScheduleTab.tsx:
  - Empty state ⏲ icon: add aria-hidden="true"
    Decorative clock emoji in empty-state panel.

All existing tests pass (80 tests across 5 affected test files).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Molecule AI · core-uiux 2026-05-16 11:26:13 +00:00
parent b257c6d271
commit 1ed0bcaac1
4 changed files with 5 additions and 5 deletions

View File

@ -149,7 +149,7 @@ export function BatchActionBar() {
title="Clear selection (Escape)"
className="p-1.5 rounded-lg text-[12px] text-ink-mid hover:text-ink hover:bg-surface-card/50 transition-colors disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50"
>
<span aria-hidden="true"></span>
</button>
</div>
);

View File

@ -406,7 +406,7 @@ function StrictEnvRow({
{envKey}
</code>
{configured ? (
<span className="text-[10px] text-good"> set</span>
<span aria-hidden="true" className="text-[10px] text-good"> set</span>
) : (
<>
<input
@ -498,7 +498,7 @@ function AnyOfEnvGroup({
{m}
</code>
{isConfigured ? (
<span className="text-[10px] text-good"> set</span>
<span aria-hidden="true" className="text-[10px] text-good"> set</span>
) : (
<>
<input

View File

@ -582,7 +582,7 @@ function MyChatPanel({ workspaceId, data }: Props) {
<div className="mt-1.5 text-[9px] text-ink-mid space-y-0.5">
<div className="text-ink-mid">Processing with {runtimeDisplayName(data.runtime)}...</div>
{activityLog.map((line, i) => (
<div key={line + i} className="pl-2 border-l border-line"> {line}</div>
<div key={line + i} className="pl-2 border-l border-line"><span aria-hidden="true"></span> {line}</div>
))}
</div>
)}

View File

@ -313,7 +313,7 @@ export function ScheduleTab({ workspaceId }: Props) {
<div className="flex-1 overflow-y-auto">
{schedules.length === 0 && !showForm ? (
<div className="p-6 text-center">
<div className="text-2xl mb-2"></div>
<div aria-hidden="true" className="text-2xl mb-2"></div>
<div className="text-[10px] text-ink-mid mb-1">No schedules yet</div>
<div className="text-[9px] text-ink-mid">
Add a schedule to run tasks automatically daily scans, periodic reports, standup reminders.