Skip to content

Commit 9b63d11

Browse files
committed
review(*): proposed-fixes
1 parent 86b57b4 commit 9b63d11

5 files changed

Lines changed: 59 additions & 16 deletions

File tree

cspell.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -397,8 +397,6 @@
397397
"agentic",
398398
"wireframes",
399399
"opensource",
400-
"unlayered",
401-
"harmonised",
402-
"unreviewed"
400+
"unlayered"
403401
]
404402
}

docs/angular/src/content/en/components/themes/accessibility.mdx

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,26 @@ The calculation happens in the browser rather than at build time. If the backgro
101101
`adaptive-contrast()` selects between black and white. Because those are the two available outcomes, the ratio the mechanism can achieve against a mid-tone background is bounded at roughly 4.6:1. That satisfies the WCAG AA threshold of 4.5:1 for normal text, which is the default the engine is configured for. Do not rely on this mechanism alone to reach the 7:1 AAA threshold; reaching AAA requires choosing background colors that are light or dark enough to allow it.
102102
</DocsAside>
103103

104+
### Set the contrast level
105+
106+
The calculated foreground is measured against a WCAG threshold held in the `--ig-contrast-level` CSS variable, which defaults to `var(--ig-wcag-aa)`. Three levels are predefined: `a`, `aa`, and `aaa`.
107+
108+
Set the level for the whole application when you generate the palette:
109+
110+
```scss
111+
@include palette($palette, $contrast-level: 'aaa');
112+
```
113+
114+
To raise the level for one part of the page only, override the variable on that scope:
115+
116+
```css
117+
.high-contrast-panel {
118+
--ig-contrast-level: var(--ig-wcag-aaa);
119+
}
120+
```
121+
122+
The contrast level moves the luminance threshold at which the calculated foreground switches between black and white; it does not change which two colors can be chosen. See [Palettes](palettes.mdx) for the generated contrast variables.
123+
104124
### Scale text with the user's browser settings
105125

106126
No configuration is required. Every type scale in the four shipped themes expresses `font-size`, `line-height`, `letter-spacing`, and margins through the `rem()` function, so all emitted values are relative to the root font size.

docs/angular/src/content/en/components/themes/palettes.mdx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,17 +60,17 @@ Here's an excerpt of the `primary` variable color as declared in the Light Mater
6060
:root {
6161
//...
6262
--ig-primary-500: #09f;
63-
--ig-primary-500-contrast: hsl(from color(from var(--ig-primary-500) var(--y-contrast)) h 0 l);
63+
--ig-primary-500-contrast: hsla(from color(from var(--ig-primary-500) var(--y-contrast)) h 0 l / 1);
6464
--ig-primary-600: hsl(from var(--ig-primary-500) h calc(s * 1.26) calc(l * 0.89));
65-
--ig-primary-600-contrast: hsl(from color(from var(--ig-primary-600) var(--y-contrast)) h 0 l);
65+
--ig-primary-600-contrast: hsla(from color(from var(--ig-primary-600) var(--y-contrast)) h 0 l / 1);
6666
--ig-primary-700: hsl(from var(--ig-primary-500) h calc(s * 1.26) calc(l * 0.81));
6767
//...
6868
--ig-secondary-400: hsl(from var(--ig-secondary-500) h calc(s * 0.875) calc(l * 1.08));
69-
--ig-secondary-400-contrast: hsl(from color(from var(--ig-secondary-400) var(--y-contrast)) h 0 l);
69+
--ig-secondary-400-contrast: hsla(from color(from var(--ig-secondary-400) var(--y-contrast)) h 0 l / 1);
7070
--ig-secondary-500: #df1b74;
71-
--ig-secondary-500-contrast: hsl(from color(from var(--ig-secondary-500) var(--y-contrast)) h 0 l);
71+
--ig-secondary-500-contrast: hsla(from color(from var(--ig-secondary-500) var(--y-contrast)) h 0 l / 1);
7272
--ig-secondary-600: hsl(from var(--ig-secondary-500) h calc(s * 1.26) calc(l * 0.89));
73-
--ig-secondary-600-contrast: hsl(from color(from var(--ig-secondary-600) var(--y-contrast)) h 0 l);
73+
--ig-secondary-600-contrast: hsla(from color(from var(--ig-secondary-600) var(--y-contrast)) h 0 l / 1);
7474
//...
7575
--ig-wcag-a: 0.31;
7676
--ig-wcag-aa: 0.185;

docs/xplat/src/content/en/components/interactivity/accessibility-compliance.mdx

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ Accessibility support is delivered by two layers — the components themselves a
2929
| Standard | Region | What it requires |
3030
|---|---|---|
3131
| <a href="https://www.w3.org/WAI/WCAG21/quickref/" target="_blank" rel="noopener noreferrer">WCAG 2.1 Level AA</a> | International | The success criteria listed below. The baseline referenced by the other two. |
32-
| <a href="https://www.section508.gov/" target="_blank" rel="noopener noreferrer">Section 508 (Revised)</a> | United States | Federal procurement. Since the 2018 Revised Standards it incorporates WCAG 2.0 Level AA by reference, so it is satisfied by the same work. |
33-
| <a href="https://www.etsi.org/deliver/etsi_en/301500_301599/301549/" target="_blank" rel="noopener noreferrer">EN 301 549</a> | European Union | The harmonised standard behind the European Accessibility Act, enforceable since 28 June 2025. Also built on WCAG. |
32+
| <a href="https://www.section508.gov/" target="_blank" rel="noopener noreferrer">Section 508 (Revised)</a> | United States | Federal procurement. Since the Revised Section 508 Standards (published 2017, compliance date January 2018) it incorporates WCAG 2.0 Level AA by reference, so it is satisfied by the same work. |
33+
| <a href="https://www.etsi.org/deliver/etsi_en/301500_301599/301549/" target="_blank" rel="noopener noreferrer">EN 301 549</a> | Europe | The European standard referenced for ICT accessibility, built on WCAG. The European Accessibility Act, which builds on it, applies from 28 June 2025. |
3434

3535
<DocsAside type="note">
3636
Section 508 previously defined its own 16 rules under §1194.22. Those were superseded by the Revised Standards, which adopt WCAG directly. Targeting WCAG 2.1 Level AA therefore addresses all three frameworks above.
@@ -86,9 +86,9 @@ This index records what each component's documentation covers today. **Not yet v
8686
| [Avatar](../layouts/avatar.mdx#accessibility) | Documented | Documented | See the topic's Accessibility section |
8787
| [Badge](../inputs/badge.mdx#accessibility) | Documented | Documented | See the topic's Accessibility section |
8888
| [Banner](../banner.mdx) | Not yet verified | Not yet verified ||
89-
| [Bottom Navigation](../tabs.mdx) | Not yet verified | Not yet verified ||
89+
| [Bottom Navigation](../tabbar.mdx) | Not yet verified | Not yet verified ||
9090
| [Button](../button.mdx) | Not yet verified | Not yet verified ||
91-
| [Button Group](../inputs/button-group.mdx) | Not yet verified | Not yet verified | |
91+
| [Button Group](../inputs/button-group.mdx#accessibility) | Documented | Documented | See the topic's Accessibility section |
9292
| [Calendar](../calendar.mdx#keyboard-navigation) | Documented | Not yet verified | See the topic's Keyboard Navigation section |
9393
| [Card](../card.mdx) | Not yet verified | Not yet verified ||
9494
| [Carousel](../carousel.mdx#accessibility) | Documented | Documented | See the topic's Accessibility section |
@@ -100,9 +100,11 @@ This index records what each component's documentation covers today. **Not yet v
100100
| [Date Picker](../date-picker.mdx#keyboard-navigation) | Documented | Not yet verified | See the topic's Keyboard Navigation section |
101101
| [Dialog](../dialog.mdx) | Not yet verified | Not yet verified ||
102102
| [Divider](../divider.mdx) | Not yet verified | Not yet verified ||
103+
| [Dock Manager](../dock-manager.mdx) | Not yet verified | Not yet verified ||
103104
| [Drop Down](../drop-down.mdx) | Not yet verified | Not yet verified ||
104105
| [Expansion Panel](../expansion-panel.mdx) | Not yet verified | Not yet verified ||
105106
| [Icon](../icon.mdx) | Not yet verified | Not yet verified ||
107+
| [Icon Button](../icon-button.mdx) | Not yet verified | Not yet verified ||
106108
| [Input Group](../input-group.mdx) | Not yet verified | Not yet verified ||
107109
| [Label](../label-input.mdx) | Not yet verified | Not yet verified ||
108110
| [Linear Progress](../linear-progress.mdx) | Not yet verified | Not yet verified ||
@@ -111,22 +113,25 @@ This index records what each component's documentation covers today. **Not yet v
111113
| [Navbar](../navbar.mdx) | Not yet verified | Not yet verified ||
112114
| [Navigation Drawer](../navdrawer.mdx) | Not yet verified | Not yet verified ||
113115
| [Radio](../radio-button.mdx) | Not yet verified | Not yet verified ||
116+
| [Rating](../rating.mdx) | Not yet verified | Not yet verified ||
114117
| [Select](../select.mdx#keyboard-navigation) | Documented | Not yet verified | See the topic's Keyboard Navigation section |
115118
| [Slider](../slider/slider.mdx) | Not yet verified | Not yet verified ||
116119
| [Snackbar](../snackbar.mdx) | Not yet verified | Not yet verified ||
120+
| [Stepper](../stepper.mdx#keyboard-navigation) | Documented | Not yet verified | See the topic's Keyboard Navigation section |
117121
| [Switch](../switch.mdx) | Not yet verified | Not yet verified ||
118122
| [Tabs](../tabs.mdx) | Not yet verified | Not yet verified ||
119123
| [Time Picker](../time-picker.mdx#keyboard-navigation) | Documented | Not yet verified | See the topic's Keyboard Navigation section |
120124
| [Toast](../toast.mdx) | Not yet verified | Not yet verified ||
121125
| [Tooltip](../tooltip.mdx#accessibility) | Documented | Not yet verified | See the topic's Accessibility section |
126+
| [Tree](../tree.mdx#keyboard-navigation) | Documented | Not yet verified | See the topic's Keyboard Navigation section |
122127

123128
</PlatformBlock>
124129

125130
<PlatformBlock for="React, WebComponents, Blazor">
126131

127132
| Component | Keyboard interaction | Screen reader / ARIA | Reference |
128133
|---|---|---|---|
129-
| [Grid](../grids/data-grid.mdx#keyboard-navigation) | Documented | Not yet verified | See the topic's Keyboard Navigation section |
134+
| [Grid](../grids/data-grid.mdx) | Documented | Not yet verified | [Keyboard navigation](../grids/data-grid.mdx#keyboard-navigation) |
130135
| [Hierarchical Grid](../grids/hierarchical-grid/overview.mdx) | Documented | Not yet verified | See the topic's Keyboard Navigation section |
131136
| [Tree Grid](../grids/tree-grid/overview.mdx) | Documented | Not yet verified | See the topic's Keyboard Navigation section |
132137
| [Tree](../grids/tree.mdx#keyboard-navigation) | Documented | Not yet verified | See the topic's Keyboard Navigation section |
@@ -135,7 +140,7 @@ This index records what each component's documentation covers today. **Not yet v
135140
| [Badge](../inputs/badge.mdx#accessibility) | Documented | Documented | See the topic's Accessibility section |
136141
| [Banner](../notifications/banner.mdx) | Not yet verified | Not yet verified ||
137142
| [Button](../inputs/button.mdx) | Not yet verified | Not yet verified ||
138-
| [Button Group](../inputs/button-group.mdx) | Not yet verified | Not yet verified | |
143+
| [Button Group](../inputs/button-group.mdx#accessibility) | Documented | Documented | See the topic's Accessibility section |
139144
| [Calendar](../scheduling/calendar.mdx#keyboard-navigation) | Documented | Not yet verified | See the topic's Keyboard Navigation section |
140145
| [Card](../layouts/card.mdx) | Not yet verified | Not yet verified ||
141146
| [Carousel](../layouts/carousel.mdx#accessibility) | Documented | Documented | See the topic's Accessibility section |
@@ -248,11 +253,11 @@ Include the component, the assistive technology and browser you used, the expect
248253
</FaqItem>
249254

250255
<FaqItem question="Why do some components say &quot;Not yet verified&quot;?" indicatorPosition="end">
251-
That status means the behavior has not been assessed in the current review cycle. It is not a statement that the component fails a criterion. It is recorded honestly so you can tell the difference between a verified result and an unreviewed one.
256+
That status means the behavior has not been assessed in the current review cycle. It is not a statement that the component fails a criterion. It is recorded honestly so you can tell the difference between a verified result and one that has not been reviewed.
252257
</FaqItem>
253258

254259
<FaqItem question="Does Section 508 still have its own separate rules?" indicatorPosition="end">
255-
No. The 2018 Revised Standards replaced the earlier §1194.22 rules and adopt WCAG Level AA by reference, so meeting WCAG also addresses Section 508.
260+
No. The Revised Section 508 Standards (published 2017, compliance date January 2018) replaced the earlier §1194.22 rules and adopt WCAG Level AA by reference, so meeting WCAG also addresses Section 508.
256261
</FaqItem>
257262

258263
<FaqItem question="Does the compliance information apply to custom themes?" indicatorPosition="end">

docs/xplat/src/content/en/components/themes/accessibility.mdx

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,26 @@ The calculation happens in the browser rather than at build time. If the backgro
9999
`adaptive-contrast()` selects between black and white. Because those are the two available outcomes, the ratio the mechanism can achieve against a mid-tone background is bounded at roughly 4.6:1. That satisfies the WCAG AA threshold of 4.5:1 for normal text, which is the default the engine is configured for. Do not rely on this mechanism alone to reach the 7:1 AAA threshold; reaching AAA requires choosing background colors that are light or dark enough to allow it.
100100
</DocsAside>
101101

102+
### Set the contrast level
103+
104+
The calculated foreground is measured against a WCAG threshold held in the `--ig-contrast-level` CSS variable, which defaults to `var(--ig-wcag-aa)`. Three levels are predefined: `a`, `aa`, and `aaa`.
105+
106+
Set the level for the whole application when you generate the palette:
107+
108+
```scss
109+
@include palette($palette, $contrast-level: 'aaa');
110+
```
111+
112+
To raise the level for one part of the page only, override the variable on that scope:
113+
114+
```css
115+
.high-contrast-panel {
116+
--ig-contrast-level: var(--ig-wcag-aaa);
117+
}
118+
```
119+
120+
The contrast level moves the luminance threshold at which the calculated foreground switches between black and white; it does not change which two colors can be chosen. See [Palettes](palettes.mdx) for the generated contrast variables.
121+
102122
### Scale text with the user's browser settings
103123

104124
No configuration is required. Every type scale in the four shipped themes expresses `font-size`, `line-height`, `letter-spacing`, and margins through the `rem()` function, so all emitted values are relative to the root font size.

0 commit comments

Comments
 (0)