-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Lint for duplicate id's #11
Comments
WCAG 4.1.1. states that the site should pass a parsing check (no stray or mismatched tags, for instance) so really any kind of good HTML linting could be a welcome change, but I picked the one the most likely to actually impact a screen reader user. |
@ecerta Thanks for the report, I will take a look in a couple of days and will give a better response than this message, I'm insanely busy at the moment! |
I have started implementing the check, but it's going to be a very resource intensive functionality. |
What if every time any id is found it's added to an array, and then just that array is checked? |
That is possible but requires a function that keeps track of those id's that are already in the array and remove them if they changed. I think that would be a complicated function with a logic that will break. |
I have tried to implement the logic for duplicated values, in this case for the ID's, but I keep running into problems with the collection of the ID's. So for the next update (0.2.4), this functionality will be held back. I have started a new branch to refactor the whole setup for all the rules, and the feature for duplicated values will be part of the major update (0.3.0). So, for now, This issue will stay open a little longer 😞 |
This isn't extremely high priority so don't kill yourself over it. If there's a way to do it it'd be a nice perk but if not, there's other ways to make the linter more useful. |
Is your feature request related to a problem? Please describe.
Screen readers depend on the id attribute to correctly associate labels, aria-describedby's and aria-labelledby's. Duplicate id's confuse them, and are just plain old bad code.
Describe the solution you'd like
Have the linter check if an id has been used before on the page, and throw an error if so.
Describe alternatives you've considered
It's possible a user is using other good HTML linters to check for this issue, but I think it's still worth including in this one.
The text was updated successfully, but these errors were encountered: