forked from DSpace/dspace-angular
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Jens Vannerum
committed
Sep 25, 2024
1 parent
2380d4e
commit 8a5181a
Showing
1 changed file
with
78 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
[DSpace ESLint plugins](../../../../lint/README.md) > [HTML rules](../index.md) > `dspace-angular-html/no-disabled-attribute-on-button` | ||
_______ | ||
|
||
Buttons should use the `dsBtnDisabled` directive instead of the HTML `disabled` attribute. | ||
This should be done to ensure that users with a screen reader are able to understand that the a button button is present, and that it is disabled. | ||
The native html disabled attribute does not allow users to navigate to the button by keyboard, and thus they have no way of knowing that the button is present. | ||
|
||
_______ | ||
|
||
[Source code](../../../../lint/src/rules/html/no-disabled-attribute-on-button.ts) | ||
|
||
### Examples | ||
|
||
|
||
#### Valid code | ||
|
||
##### should use [dsBtnDisabled] in HTML templates | ||
```html | ||
<button [dsBtnDisabled]="true">Submit</button> | ||
``` | ||
|
||
##### disabled attribute is still valid on non-button elements | ||
```html | ||
<input disabled> | ||
``` | ||
|
||
##### [disabled] attribute is still valid on non-button elements | ||
```html | ||
<input [disabled]="true"> | ||
``` | ||
|
||
##### angular dynamic attributes that use disabled are still valid | ||
```html | ||
<button [class.disabled]="isDisabled">Submit</button> | ||
``` | ||
|
||
|
||
|
||
|
||
#### Invalid code & automatic fixes | ||
|
||
##### should not use disabled attribute in HTML templates | ||
```html | ||
<button disabled>Submit</button> | ||
``` | ||
Will produce the following error(s): | ||
``` | ||
Buttons should use the `dsBtnDisabled` directive instead of the `disabled` attribute. | ||
``` | ||
Result of `yarn lint --fix`: | ||
```html | ||
<button [dsBtnDisabled]="true">Submit</button> | ||
``` | ||
|
||
##### should not use [disabled] attribute in HTML templates | ||
```html | ||
<button [disabled]="true">Submit</button> | ||
``` | ||
Will produce the following error(s): | ||
``` | ||
Buttons should use the `dsBtnDisabled` directive instead of the `disabled` attribute. | ||
``` | ||
Result of `yarn lint --fix`: | ||
```html | ||
<button [dsBtnDisabled]="true">Submit</button> | ||
``` | ||
|
||
|