fix(ui): unify heading help, table sizing and navigation contracts

Verified with the coordinated workspace changes by devkit full run
2026-09-08T225814-186389-0000-3e3ed7cd (all seven phases passed).
This shared UI pass does not mark the individual module reviews complete.
This commit is contained in:
2026-09-09 02:03:16 +02:00
parent 6591aaa3fd
commit 6d37aa527f
54 changed files with 1728 additions and 117 deletions
+17 -1
View File
@@ -38,7 +38,10 @@ const markup = renderToStaticMarkup(
);
assert(markup.includes('role="listbox"'), "the root exposes listbox semantics");
assert(markup.includes('class="selection-list domain-list"'), "root caller classes are preserved");
const rootClasses = markup.match(/\bclass="([^"]+)"/)?.[1].split(/\s+/) ?? [];
assert(rootClasses.includes("selection-list"), "the root retains its shared component class");
assert(rootClasses.includes("selection-list-plain"), "the root defaults to the plain variant");
assert(rootClasses.includes("domain-list"), "root caller classes are preserved");
assert(markup.includes('data-source="inbox"'), "root native properties pass through");
assert(markup.includes('aria-label="Notifications"'), "the accessible label is translated");
assert(markup.includes('role="option"'), "items expose option semantics");
@@ -59,6 +62,19 @@ const nativeLabelMarkup = renderToStaticMarkup(
);
assert(nativeLabelMarkup.includes('aria-label="Already translated"'), "native accessible labels pass through unchanged");
const navigationMarkup = renderToStaticMarkup(
<SelectionList variant="navigation" className="domain-navigation" aria-label="Navigation">
<SelectionListItem selected>Current section</SelectionListItem>
</SelectionList>
);
const navigationClasses = navigationMarkup.match(/\bclass="([^"]+)"/)?.[1].split(/\s+/) ?? [];
assert(navigationClasses.includes("selection-list"), "navigation retains the shared root class");
assert(navigationClasses.includes("selection-list-navigation"), "the navigation variant is explicit");
assert(!navigationClasses.includes("selection-list-plain"), "navigation does not inherit the plain variant class");
assert(navigationClasses.includes("domain-navigation"), "navigation preserves caller classes");
assert(navigationMarkup.includes('role="listbox"'), "navigation retains listbox semantics");
assert(navigationMarkup.includes('aria-label="Navigation"'), "navigation retains its accessible label");
const directoryOptions = [
{
value: "account-1",