Skip to content

Commit 1fe6ff3

Browse files
committed
Add aria-disabled to relevant buttons
Fixes #1217. Make sure screen readers are properly informing their users that disabled buttons are disabled. Note: The linked issue also notes that the function of the cancel button is not properly read. However, my screen reader reads "Cancel button", so that has probably been fixed at some point.
1 parent 68569f8 commit 1fe6ff3

9 files changed

Lines changed: 25 additions & 0 deletions

File tree

src/components/events/partials/ModalTabsAndPages/EventDetailsCommentsTab.tsx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,15 @@ const EventDetailsCommentsTab = ({
272272
isSavingComment
273273
)
274274
}
275+
aria-disabled={
276+
!!(
277+
!newCommentText.length ||
278+
newCommentText.length <= 0 ||
279+
!commentReason.length ||
280+
commentReason.length <= 0 ||
281+
isSavingComment
282+
)
283+
}
275284
className={`save green ${
276285
!newCommentText.length ||
277286
newCommentText.length <= 0 ||

src/components/events/partials/ModalTabsAndPages/EventDetailsWorkflowTab.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -441,6 +441,7 @@ const EventDetailsWorkflowTab = ({
441441
formik.resetForm();
442442
}}
443443
disabled={!formik.isValid}
444+
aria-disabled={!formik.isValid}
444445
className={`cancel ${
445446
!formik.isValid ? "disabled" : ""
446447
}`}
@@ -452,6 +453,7 @@ const EventDetailsWorkflowTab = ({
452453
<button
453454
onClick={() => formik.handleSubmit()}
454455
disabled={!(formik.dirty && formik.isValid)}
456+
aria-disabled={!(formik.dirty && formik.isValid)}
455457
className={`save green ${
456458
!(formik.dirty && formik.isValid)
457459
? "disabled"

src/components/shared/NavigationButtons.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ const NavigationButtons = ({
3939
type="submit"
4040
className={cn(submitClassName, submitActiveClassName)}
4141
disabled={disabled}
42+
aria-disabled={disabled}
4243
onClick={() => {
4344
!!nextPage && nextPage()
4445
}}
@@ -51,6 +52,7 @@ const NavigationButtons = ({
5152
type="submit"
5253
className={cn(submitClassName, submitActiveClassName)}
5354
disabled={disabled}
55+
aria-disabled={disabled}
5456
onClick={() => {
5557
!!nextPage && nextPage();
5658
}}

src/components/shared/RegistrationModal.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -697,6 +697,9 @@ const RegistrationModalContent = () => {
697697
disabled={
698698
!(formik.isValid && formik.values.agreedToPolicy)
699699
}
700+
aria-disabled={
701+
!(formik.isValid && formik.values.agreedToPolicy)
702+
}
700703
onClick={() => onClickContinue()}
701704
className={cn("submit", {
702705
active:

src/components/shared/SaveEditFooter.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ export const SaveEditFooter: React.FC<SaveEditFooterProps> = ({
3939
<button
4040
onClick={additionalButton.onClick}
4141
disabled={!isValid || !active}
42+
aria-disabled={!isValid || !active}
4243
className={`save green ${
4344
!isValid || !active ? "disabled" : ""
4445
}`}
@@ -49,6 +50,7 @@ export const SaveEditFooter: React.FC<SaveEditFooterProps> = ({
4950
<div className="pull-right">
5051
<button
5152
onClick={submit}
53+
aria-disabled={!isValid || !active}
5254
disabled={!isValid || !active}
5355
className={`save green ${
5456
!isValid || !active ? "disabled" : ""

src/components/shared/Table.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -332,6 +332,7 @@ const Table = ({
332332
<div className="pagination">
333333
<ButtonLikeAnchor
334334
extraClassName={cn("prev", { disabled: !isNavigatePrevious() })}
335+
aria-disabled={!isNavigatePrevious()}
335336
onClick={() => {
336337
dispatch(goToPage(pageOffset - 1));
337338
forceDeselectAll();
@@ -356,6 +357,7 @@ const Table = ({
356357

357358
<ButtonLikeAnchor
358359
extraClassName={cn("next", { disabled: !isNavigateNext() })}
360+
aria-disabled={!isNavigateNext()}
359361
onClick={() => {
360362
dispatch(goToPage(pageOffset + 1));
361363
forceDeselectAll();

src/components/shared/TableActionDropdown.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ const TableActionDropdown = ({
5252
return (
5353
<div
5454
className={cn("drop-down-container", { disabled: disabled })}
55+
aria-disabled={disabled}
5556
onClick={(e) => handleActionMenu(e)}
5657
ref={containerAction}
5758
>

src/components/shared/TableFilterProfiles.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,12 +240,14 @@ const TableFiltersProfiles = ({
240240
<div className="input-container">
241241
{/* Buttons for saving and canceling editing */}
242242
<div className="btn-container">
243+
{/* <button className="cancel">J</button> */}
243244
<ButtonLikeAnchor onClick={cancelEditProfile} extraClassName="cancel">
244245
{t("CANCEL")}
245246
</ButtonLikeAnchor>
246247
<ButtonLikeAnchor
247248
onClick={saveProfile}
248249
extraClassName={cn("save", { disabled: !validName })}
250+
aria-disabled={!validName}
249251
>
250252
{t("SAVE")}
251253
</ButtonLikeAnchor>

src/components/shared/wizard/SelectContainer.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,7 @@ const SelectContainer = ({
242242
className={cn("submit", {
243243
disabled: !markedForAddition.length || !manageable,
244244
})}
245+
aria-disabled={!markedForAddition.length || !manageable}
245246
onClick={() => handleClickAdd()}
246247
>
247248
{t(`${resource.label}.ADD` as ParseKeys)}
@@ -278,6 +279,7 @@ const SelectContainer = ({
278279
className={cn("remove", {
279280
disabled: !markedForRemoval.length || !manageable,
280281
})}
282+
aria-disabled={!markedForRemoval.length || !manageable}
281283
onClick={() => handleClickRemove()}
282284
>
283285
{t(`${resource.label}.REMOVE` as ParseKeys)}

0 commit comments

Comments
 (0)