You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The two sibling comparison tables carried the same width coupling that
ComparisonMatrix just shed: EdgeComparisonMatrix wrote 40% and three
20%s once in the columns array and again in the col-class rules, and
Pricing/ComparisonTable did the same with 30% and 17.5%. The doubling
is deliberate — inline width is immune to specificity drift, the class
rule is the fallback a fixed table needs when the col width is
unreachable — so both sides now read one local constant, the stylesheet
through a custom property on the section. Eight literals become four,
and the emitted values are unchanged.
scroll-region-tabindex is renamed to scroll-regions, since it manages
role alongside the tab stop and the old name sent anyone looking for
what strips role=region to the wrong file. Its docblock now states that
the role of a data-scroll-region element belongs to the function: it
sets region and removes it again, so a consumer ships role="region" in
the markup and never any other role.
CLAUDE.md's DataTable entry said caption then colgroup, though colgroup
is a prop and ComparisonMatrix passes false, and it left out scrollable
— the one prop with a runtime partner, since it emits the role="region"
wrapper initScrollRegions then toggles.
-**DocLink** — product-aware internal links (always use instead of bare markdown links)
94
-
-**DataTable** — semantic shell for comparison tables (caption → colgroup → `th scope="col"` header → tbody slot); callers pass `<tr>` rows whose first cell is `<th scope="row">`. Styling contract: the caller's `<style>` must be `is:global`, nested under the caller's own class — scoped rules cannot match the shell DataTable renders
94
+
-**DataTable** — semantic shell for comparison tables (caption → optional colgroup → `th scope="col"` header → tbody slot); callers pass `<tr>` rows whose first cell is `<th scope="row">`. `scrollable` wraps the table in a `role="region"` named from the caption, which `initScrollRegions` drops again on viewports where the table does not overflow. Styling contract: the caller's `<style>` must be `is:global`, nested under the caller's own class — scoped rules cannot match the shell DataTable renders
95
95
-**DataTableValue** — one comparison cell's value, always as text; icons are decorative, an empty value fails the build
96
96
-**Code blocks** — `maxLines`, `collapsible`, `wrap`, `download='file.ext'` meta options; `<Code>` component for dynamic code
0 commit comments