@@ -13,12 +13,13 @@ export function connect<T extends PropTypes>(
1313 const { context, send, computed, prop, scope } = service
1414
1515 const groupDisabled = computed ( "isDisabled" )
16+ const groupInvalid = prop ( "invalid" )
1617 const readOnly = prop ( "readOnly" )
1718
1819 function getItemState ( props : ItemProps ) : ItemState {
1920 return {
2021 value : props . value ,
21- invalid : ! ! props . invalid ,
22+ invalid : ! ! props . invalid || ! ! groupInvalid ,
2223 disabled : ! ! props . disabled || groupDisabled ,
2324 checked : context . get ( "value" ) === props . value ,
2425 focused : context . get ( "focusedValue" ) === props . value ,
@@ -64,8 +65,13 @@ export function connect<T extends PropTypes>(
6465 role : "radiogroup" ,
6566 id : dom . getRootId ( scope ) ,
6667 "aria-labelledby" : dom . getLabelId ( scope ) ,
68+ "aria-required" : prop ( "required" ) || undefined ,
69+ "aria-disabled" : groupDisabled || undefined ,
70+ "aria-readonly" : readOnly || undefined ,
6771 "data-orientation" : prop ( "orientation" ) ,
6872 "data-disabled" : dataAttr ( groupDisabled ) ,
73+ "data-invalid" : dataAttr ( groupInvalid ) ,
74+ "data-required" : dataAttr ( prop ( "required" ) ) ,
6975 "aria-orientation" : prop ( "orientation" ) ,
7076 dir : prop ( "dir" ) ,
7177 style : {
@@ -80,6 +86,8 @@ export function connect<T extends PropTypes>(
8086 dir : prop ( "dir" ) ,
8187 "data-orientation" : prop ( "orientation" ) ,
8288 "data-disabled" : dataAttr ( groupDisabled ) ,
89+ "data-invalid" : dataAttr ( groupInvalid ) ,
90+ "data-required" : dataAttr ( prop ( "required" ) ) ,
8391 id : dom . getLabelId ( scope ) ,
8492 onClick : focus ,
8593 } )
@@ -159,6 +167,8 @@ export function connect<T extends PropTypes>(
159167 name : prop ( "name" ) || prop ( "id" ) ,
160168 form : prop ( "form" ) ,
161169 value : props . value ,
170+ required : prop ( "required" ) ,
171+ "aria-invalid" : itemState . invalid || undefined ,
162172 onClick ( event ) {
163173 if ( readOnly ) {
164174 event . preventDefault ( )
0 commit comments