Skip to content
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

evaluate new axe audits for inclusion #7127

Closed
brendankenny opened this issue Jan 31, 2019 · 16 comments · Fixed by #9798
Closed

evaluate new axe audits for inclusion #7127

brendankenny opened this issue Jan 31, 2019 · 16 comments · Fixed by #9798
Assignees
Labels

Comments

@brendankenny
Copy link
Member

brendankenny commented Jan 31, 2019

When updating axe in #7020, I noticed there were some axe audits that are running but don't have audits to show them in the report. We should look at them and see if we should be showing them in the report or if we should disable them to save gathering time. We should also see if there are any other tests we should add from the more comprehensive axe of today.

The current list of running tests with no LH audits:

  1. aria-dpub-role-fallback: Ensures unsupported DPUB roles are only used on elements with implicit fallback roles.
  2. aria-hidden-body: Ensures aria-hidden='true' is not present on the document body.
  3. duplicate-id-active: Ensures every id attribute value of active elements is unique.
  4. duplicate-id-aria: Ensures every id attribute value used in ARIA and in labels is unique.
  5. html-xml-lang-mismatch: Ensure that HTML elements with both valid lang and xml:lang attributes agree on the base language of the page.
  6. aria-hidden-focus: ensures aria-hidden elements do not contain focusable elements.
  7. form-field-multiple-labels: Ensures form field does not have multiple label elements.
  8. aria-input-field-name Ensures every ARIA input field has an accessible name
  9. aria-toggle-field-name Ensures every ARIA toggle field has an accessible name

On the other side of things, we don't appear to have any audits that don't have results somewhere in the axe results, so that's good :)


Updated April 17: merged in shane's descriptions. Paul added 6,7 from #8370. Patrick added 8, 9 from #9343 . Cc'ing #6169 because relevant.

@exterkamp
Copy link
Member

exterkamp commented Feb 11, 2019

A little more color to these since I was kinda lost:

EDIT(paulirish): I merged these nice descriptions into brendan's post.

I feel like 2-5 are all quick hit and good audits that would be valid if we're running them anyway, but 3 &4 might be expensive under the hood or on large DOM sites. I don't really get the first one without looking into it more.

@robdodson
Copy link
Contributor

I agree with @exterkamp's assessment. Does Lighthouse have a way of doing perf A/B tests to see how expensive some of those checks could be?

@patrickhulce
Copy link
Collaborator

@robdodson we do, but the variance in LH perf and runtime is so massive that it rarely yields anything conclusive at the moment.

it can certainly check if there's something very wrong with enabling them though :)

just comment "DZL, do a barrel roll!" on a PR and it'll run it automatically when there are changes

@robdodson
Copy link
Contributor

DZL, do a barrel roll!

that's amazing.

@brendankenny brendankenny added P1 and removed P2 labels Apr 17, 2019
@brendankenny
Copy link
Member Author

bumping to p1 for post I/O :)

@brendankenny
Copy link
Member Author

In #9120, @a11ySherpa asked to include

though it's a best-practice not one of the wcag* rules.

If the axe implementation isn't too heavyweight, it could be included and serve double duty as the gatherer for the hierarchy idea in #7208 (however, I don't know if axe checks that a header exists at all, the original suggestion in that issue).

@connorjclark
Copy link
Collaborator

I don't know if axe checks that a header exists at all, the original suggestion in that issue

it doesn't

@robdodson
Copy link
Contributor

robdodson commented Jun 4, 2019

Suggested categorization:


Navigation

  • duplicate-id-active
  • heading-order

Names and labels

  • form-field-multiple-labels

ARIA

  • duplicate-id-aria
  • aria-hidden-focus
  • aria-hidden-body
  • aria-input-field-name
  • aria-toggle-field-name

Internationalization and localization

  • html-xml-lang-mismatch

@paulirish
Copy link
Member

@robdodson we've updated this issue. we have a few new audits coming from axe that we could include. We'd love your call on which of them we should include, and what weighting.

Perhaps you could take a look at this by late next week?

@robdodson
Copy link
Contributor

@paulirish I've tried to organize all of the audits in the comment above. I removed the dpub one because I'm not sure how often that really comes up. Is there anything else you need on my end?

@kaycebasques
Copy link
Contributor

@robdodson & @paulirish:

  • Did you decide on the weighting for these audits?
  • Are they all being surfaced in the report?

@brendankenny
Copy link
Member Author

  • Are they all being surfaced in the report?

yes

  • Did you decide on the weighting for these audits?

@robdodson moved us to a system based on the axe minor/serious/critical impact ratings, which are given a weight of 1/3/10, respectively.

@brendankenny brendankenny self-assigned this Oct 3, 2019
@mfriesenhahn
Copy link
Collaborator

I'm starting the docs for these audits. Is there a branch I can use to take screenshots, get the correct failure titles, etc.? (A quick search didn't turn anything up.)

@patrickhulce
Copy link
Collaborator

@mfriesenhahn I actually don't think they've been implemented yet as most of them are disabled in the gatherer.

'duplicate-id-aria': {enabled: false},
'html-xml-lang-mismatch': {enabled: false},
'blink': {enabled: false},
'server-side-image-map': {enabled: false},
'aria-hidden-focus': {enabled: false},
'form-field-multiple-labels': {enabled: false},
'aria-input-field-name': {enabled: false},
'aria-toggle-field-name': {enabled: false},

@mfriesenhahn
Copy link
Collaborator

Thanks, @patrickhulce. Just checking: are they still planned to land for CDS? If so, I can write the docs based on the relevant axe pages and add screenshots and fix up anything else once the audits are done.

@brendankenny
Copy link
Member Author

was just putting together #9798 :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants