File tree Expand file tree Collapse file tree 2 files changed +10
-4
lines changed
packages/pluggableWidgets/checkbox-radio-selection-web/src/components Expand file tree Collapse file tree 2 files changed +10
-4
lines changed Original file line number Diff line number Diff line change @@ -30,6 +30,8 @@ export function CheckboxSelection({
30
30
}
31
31
} ;
32
32
33
+ const isSingleCheckbox = options . length === 1 ;
34
+
33
35
return (
34
36
< div
35
37
className = { classNames ( "widget-checkbox-radio-selection-list" , {
@@ -39,6 +41,8 @@ export function CheckboxSelection({
39
41
role = "group"
40
42
aria-labelledby = { `${ inputId } -label` }
41
43
aria-required = { ariaRequired ?. value }
44
+ aria-describedby = { ! isSingleCheckbox && selector . validation ? errorId : undefined }
45
+ aria-invalid = { ! isSingleCheckbox && selector . validation ? true : undefined }
42
46
>
43
47
{ options . map ( ( optionId , index ) => {
44
48
const isSelected = currentIds . includes ( optionId ) ;
@@ -60,8 +64,8 @@ export function CheckboxSelection({
60
64
disabled = { isReadOnly }
61
65
tabIndex = { tabIndex }
62
66
onChange = { e => handleChange ( optionId , e . target . checked ) }
63
- aria-describedby = { selector . validation ? errorId : undefined }
64
- aria-invalid = { selector . validation ? true : undefined }
67
+ aria-describedby = { isSingleCheckbox && selector . validation ? errorId : undefined }
68
+ aria-invalid = { isSingleCheckbox && selector . validation ? true : undefined }
65
69
/>
66
70
< CaptionContent
67
71
onClick = { ( e : MouseEvent < HTMLDivElement > ) => {
Original file line number Diff line number Diff line change @@ -50,6 +50,8 @@ export function RadioSelection({
50
50
role = { asSingleCheckbox ? "group" : "radiogroup" }
51
51
aria-labelledby = { `${ inputId } -label` }
52
52
aria-required = { ariaRequired ?. value }
53
+ aria-describedby = { ! asSingleCheckbox && selector . validation ? errorId : undefined }
54
+ aria-invalid = { ! asSingleCheckbox && selector . validation ? true : undefined }
53
55
>
54
56
{ options . map ( ( optionId , index ) => {
55
57
const isSelected = currentId === optionId ;
@@ -75,8 +77,8 @@ export function RadioSelection({
75
77
disabled = { isReadOnly }
76
78
tabIndex = { tabIndex }
77
79
onChange = { handleChange }
78
- aria-describedby = { selector . validation ? errorId : undefined }
79
- aria-invalid = { selector . validation ? true : undefined }
80
+ aria-describedby = { asSingleCheckbox && selector . validation ? errorId : undefined }
81
+ aria-invalid = { asSingleCheckbox && selector . validation ? true : undefined }
80
82
/>
81
83
</ If >
82
84
< CaptionContent
You can’t perform that action at this time.
0 commit comments