File tree Expand file tree Collapse file tree
documentation/src/components/Demos/Form Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -42,15 +42,20 @@ export default function MenusWithFormControls(): ReactElement | null {
4242 Italic
4343 </ MenuItemCheckbox > ,
4444 < MenuItemSeparator /> ,
45- ...decorations . map ( ( dec ) => (
46- < MenuItemRadio
47- id = { `decoration-${ dec } ` }
48- checked = { decoration === dec }
49- onCheckedChange = { ( ) => setDecoration ( dec ) }
50- >
51- { dec }
52- </ MenuItemRadio >
53- ) ) ,
45+ // see https://www.w3.org/TR/wai-aria-1.1/#menuitemradio why this is
46+ // wrapped in a group
47+ < div role = "group" aria-label = "Font Decoration" >
48+ { decorations . map ( ( dec ) => (
49+ < MenuItemRadio
50+ key = { dec }
51+ id = { `decoration-${ dec } ` }
52+ checked = { decoration === dec }
53+ onCheckedChange = { ( ) => setDecoration ( dec ) }
54+ >
55+ { dec }
56+ </ MenuItemRadio >
57+ ) ) }
58+ </ div > ,
5459 < MenuItemSwitch
5560 id = "toggle-thing"
5661 checked = { checked }
Original file line number Diff line number Diff line change @@ -36,38 +36,38 @@ function Test({
3636 >
3737 Checkbox
3838 </ MenuItemInputToggle > ,
39- < MenuItemInputToggle
40- type = "radio"
41- key = "radio-1 "
42- id = "menu-id-2"
43- onClick = { onClick }
44- checked = { selectedIndex === 0 }
45- onCheckedChange = { ( ) => {
46- setSelectedIndex ( 0 ) ;
47- } }
48- iconAfter = { iconAfter }
49- addon = { addon }
50- addonType = { addonType }
51- addonPosition = { addonPosition }
52- >
53- Radio 1
54- </ MenuItemInputToggle > ,
55- < MenuItemInputToggle
56- type = "radio"
57- key = "radio-2 "
58- id = "menu-id-3"
59- onClick = { onClick }
60- checked = { selectedIndex === 1 }
61- onCheckedChange = { ( ) => {
62- setSelectedIndex ( 1 ) ;
63- } }
64- iconAfter = { iconAfter }
65- addon = { addon }
66- addonType = { addonType }
67- addonPosition = { addonPosition }
68- >
69- Radio 2
70- </ MenuItemInputToggle > ,
39+ < div role = "group" aria-label = "Radio Group" key = "radio" >
40+ < MenuItemInputToggle
41+ type = "radio"
42+ id = "menu-id-2"
43+ onClick = { onClick }
44+ checked = { selectedIndex === 0 }
45+ onCheckedChange = { ( ) => {
46+ setSelectedIndex ( 0 ) ;
47+ } }
48+ iconAfter = { iconAfter }
49+ addon = { addon }
50+ addonType = { addonType }
51+ addonPosition = { addonPosition }
52+ >
53+ Radio 1
54+ </ MenuItemInputToggle >
55+ < MenuItemInputToggle
56+ type = "radio"
57+ id = "menu-id-3 "
58+ onClick = { onClick }
59+ checked = { selectedIndex === 1 }
60+ onCheckedChange = { ( ) => {
61+ setSelectedIndex ( 1 ) ;
62+ } }
63+ iconAfter = { iconAfter }
64+ addon = { addon }
65+ addonType = { addonType }
66+ addonPosition = { addonPosition }
67+ >
68+ Radio 2
69+ </ MenuItemInputToggle >
70+ </ div > ,
7171 < MenuItemInputToggle
7272 key = "switch"
7373 type = "switch"
Original file line number Diff line number Diff line change @@ -13,26 +13,26 @@ describe("MenuItemRadio", () => {
1313 < DropdownMenu
1414 id = "menu-id"
1515 items = { [
16- < MenuItemRadio
17- key = "item-1"
18- id = "menu-id-1"
19- checked = { selectedIndex === 0 }
20- onCheckedChange = { ( ) => {
21- setSelectedIndex ( 0 ) ;
22- } }
23- >
24- Radio 1
25- </ MenuItemRadio > ,
26- < MenuItemRadio
27- key = "item -2"
28- id = "menu-id-2"
29- checked = { selectedIndex === 1 }
30- onCheckedChange = { ( ) => {
31- setSelectedIndex ( 1 ) ;
32- } }
33- >
34- Radio 2
35- </ MenuItemRadio > ,
16+ < div role = "group" aria-label = "Radio Group" key = "group" >
17+ < MenuItemRadio
18+ id = "menu-id-1"
19+ checked = { selectedIndex === 0 }
20+ onCheckedChange = { ( ) => {
21+ setSelectedIndex ( 0 ) ;
22+ } }
23+ >
24+ Radio 1
25+ </ MenuItemRadio >
26+ < MenuItemRadio
27+ id = "menu-id -2"
28+ checked = { selectedIndex === 1 }
29+ onCheckedChange = { ( ) => {
30+ setSelectedIndex ( 1 ) ;
31+ } }
32+ >
33+ Radio 2
34+ </ MenuItemRadio >
35+ </ div > ,
3636 ] }
3737 >
3838 Button
You can’t perform that action at this time.
0 commit comments