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

Query metrics: Chapter 9. Accessibility #90

Closed
29 of 34 tasks
rviscomi opened this issue Jul 23, 2019 · 7 comments
Closed
29 of 34 tasks

Query metrics: Chapter 9. Accessibility #90

rviscomi opened this issue Jul 23, 2019 · 7 comments
Assignees
Labels
analysis Querying the dataset

Comments

@rviscomi
Copy link
Member

rviscomi commented Jul 23, 2019

Part Chapter Authors Reviewers Tracking Issue
II. User Experience 9. Accessibility Nektarios Paisios, @nadinarama, @OBTo @rachellcostello, @kleinab #11

READ ME!

All of the metrics in the table below have been marked as Able To Query during the metrics triage. The analyst assigned to each metric is expected to write the corresponding query and submit a PR to have it reviewed and added to the repo.

In order to stay on schedule and have the data ready for authors, please have all metrics reviewed and merged by August 5.

Assignments

ID Metric description Analyst
09.01 How many sites make use of headings at all?[2] @dougsillars
09.02 Can we define a basic level of “compliance” and see how many sites meet this. @dougsillars
09.03 What are the biggest and most important semantic tags aside from the ones we specified above? I think the only thing we can do here to avoid being too subjective… is to see what the adoption rate is of different elements. [2] @dougsillars
09.04 Pages with more than one “main” landmark. [1] @dougsillars
09.05 How often are each of the following used [2] @dougsillars
09.06 Sites where id attributes are not unique across the page. @dougsillars
09.07 Sites that have an audio or a video element with a captions track. [1] @dougsillars
09.08 Percent of sites that declare the language they are written in by using a valid “lang” attribute on their html or body tags. [1] @dougsillars
09.09 Video elements that have an audio descriptions track. [1] @dougsillars
09.10 Sites making use of skip links or headings[1] @dougsillars
09.11 Sites whose headings increase by more than one level, e.g. from heading level 1 to heading level 3. [1] @dougsillars
09.12 Sites that don’t have a level 1 heading. [1] @dougsillars
09.13 Sites that have headings that are not properly nested, e.g. heading level 1 is present on the page but comes after a heading level 3. To do this, for each heading level we need to find the first heading of that level if present, and then we have to determine if a heading of a higher level comes before it on the page. [2] @dougsillars
09.14 Sites that use aria-keyshortcuts and sites that use accesskey attributes to make their widgets more keyboard friendly. [2] @dougsillars
09.15 Sites that expose non unique values for the aria-keyshortcuts and accesskey attributes. [1] @dougsillars
09.16 Sites that use aria-invalid, the HTML required attribute, and aria-required to make forms more accessible by indicating which values are invalid and which values are required. [2] @dougsillars
09.17 Sites that use tables with headings, e.g. <th>, role=”rowheader” and role=”columnheader” elements. [1] @dougsillars
09.18 Sites that use tables that have a table header and a table caption. [1] @rviscomi
09.19 Sites with ARIA attributes that have valid names, vs. total number of ARIA attributes used. [1] @rviscomi
09.20 Sites with ARIA attributes that have valid values, vs. total number of ARIA attributes used. [1] @rviscomi
09.21 Sites with elements that have aria-hidden=”true” set, but which contain focusable elements. [1] @rviscomi
09.22 Sites that hide their body element using aria-hidden. [1] @rviscomi
09.23 Radio buttons that are within a fieldset or role=”radiogroup”, vs. radio buttons that are not. [2] @rviscomi
09.24 Sites that use aria-posinset and aria-setsize, vs. sites that don’t use these attributes. [2] @rviscomi
09.25 Sites that lock display orientation. [1] @rviscomi
09.26 Sites that disable zooming and scaling, e.g. user-scalable="no". [1] @OBTo
09.27 Sites with elements that are in the tab order but have no interactive role, e.g. a paragraph. [1] @OBTo
09.28 Pages that auto refresh, e.g. http-equiv="refresh" attribute in the meta tag. [1] @OBTo
09.29 Sites with sufficient text color contrast with its background. [1][2] @OBTo
09.30 Form input elements with accessible labels, e.g. HTML form controls that have an HTML label element, aria-label, or aria-labeledby. [1][2] @OBTo
09.31 Headings, links and buttons with no text or label associated with them[1][2] @OBTo
09.32 Image and button image elements missing alt attributes, and that don’t have a role=”none” or role=”presentation”. [2] @OBTo
09.33 Clickable elements, i.e. elements that respond to click or mousedown / mouseup events, but don’t have an interactive role, e.g. are neither links, buttons, checkboxes, etc. [2] @rviscomi
09.34 Same as above, but for elements with keyboard input listeners (ex. Space bar, enter/return key) [2] @rviscomi
09.35 Sites that have distracting elements on the page, such as elements that are blinking/flashing/moving. Look for marquee and blink elements, and look for elements with the CSS animation-iteration-count: infinite. [2] @rviscomi

Checklist of metrics to be merged

  • 09.02 Screen reader users enjoy being able to navigate a page by using headings, ARIA landmarks such as “search” and “main”, and semantic elements like header, nav, article, footer, etc…
  • 09.03 How many sites make use of headings at all?[2]
  • 09.04 I'm not sure atm what the best approach for analyzing good use of semantic elements would be. Maybe seeing what % of sites use the basic header, footer, and nav? And then how many make use of any of the other semantic tags (main, <div role='main'>, etc)? Thoughts?
  • 09.05 Percent of the sites content that is enclosed by ARIA landmarks, vs. content that is not enclosed by any landmarks.
  • 09.06 Sites where id attributes are not unique across the page.
  • 09.07 Sites that have an audio or a video element with a captions track. [1]
  • 09.08 Percent of sites that declare the language they are written in by using a valid “lang” attribute on their html or body tags. [1]
  • 09.09 Video elements that have an audio descriptions track. [1]
  • 09.10 Sites making use of skip links or headings[1]
  • 09.11 Sites whose headings increase by more than one level, e.g. from heading level 1 to heading level 3. [1]
  • 09.12 Sites that don’t have a level 1 heading. [1]
  • 09.13 Sites that have headings that are not properly nested, e.g. heading level 1 is present on the page but comes after a heading level 3. To do this, for each heading level we need to find the first heading of that level if present, and then we have to determine if a heading of a higher level comes before it on the page. [2]
  • 09.14 Sites that use aria-keyshortcuts and sites that use accesskey attributes to make their widgets more keyboard friendly. [2]
  • 09.15 Sites that expose non unique values for the aria-keyshortcuts and accesskey attributes. [1]
  • 09.16 Sites that use aria-invalid, the HTML required attribute, and aria-required to make forms more accessible by indicating which values are invalid and which values are required. [2]
  • 09.17 Sites that use tables with headings, e.g. <th>, role=”rowheader” and role=”columnheader” elements. [1]
  • 09.18 Sites that use tables that have a table header and a table caption. [1]
  • 09.19 Sites with ARIA attributes that have valid names, vs. total number of ARIA attributes used. [1]
  • 09.20 Sites with ARIA attributes that have valid values, vs. total number of ARIA attributes used. [1]
  • 09.21 Sites with elements that have aria-hidden=”true” set, but which contain focusable elements. [1]
  • 09.22 Sites that hide their body element using aria-hidden. [1]
  • 09.23 Radio buttons that are within a fieldset or role=”radiogroup”, vs. radio buttons that are not. [2]
  • 09.24 Sites that use aria-posinset and aria-setsize, vs. sites that don’t use these attributes. [2]
  • 09.25 Sites that lock display orientation. [1]
  • 09.26 Sites that disable zooming and scaling, e.g. user-scalable="no". [1]
  • 09.27 Sites with elements that are in the tab order but have no interactive role, e.g. a paragraph. [1]
  • 09.28 Pages that auto refresh, e.g. http-equiv="refresh" attribute in the meta tag. [1]
  • 09.29 Sites with sufficient text color contrast with its background. [1][2]
  • 09.30 Form input elements with accessible labels, e.g. HTML form controls that have an HTML label element, aria-label, or aria-labeledby. [1][2]
  • 09.31 Headings, links and buttons with no text or label associated with them[1][2]
  • 09.32 Image and button image elements missing alt attributes, and that don’t have a role=”none” or role=”presentation”. [2]
  • 09.33 Clickable elements, i.e. elements that respond to click or mousedown / mouseup events, but don’t have an interactive role, e.g. are neither links, buttons, checkboxes, etc. [2]
  • 09.34 Same as above, but for elements with keyboard input listeners (ex. Space bar, enter/return key) [2]
  • 09.35 Sites that have distracting elements on the page, such as elements that are blinking/flashing/moving. Look for marquee and blink elements, and look for elements with the CSS animation-iteration-count: infinite. [2]
@rviscomi rviscomi added the analysis Querying the dataset label Jul 23, 2019
@rviscomi rviscomi added this to the Content written milestone Jul 23, 2019
@rviscomi rviscomi added the ASAP This issue is blocking progress label Sep 4, 2019
@rviscomi
Copy link
Member Author

rviscomi commented Sep 8, 2019

@dougsillars you've checked off a few of the metrics but I don't see a PR for their respective queries. Do you have that ready for review?

@dougsillars
Copy link
Contributor

dougsillars commented Sep 8, 2019 via email

@rviscomi
Copy link
Member Author

rviscomi commented Sep 8, 2019

@dougsillars ok thanks a new PR would be great

@dougsillars
Copy link
Contributor

dougsillars commented Sep 8, 2019 via email

@rviscomi
Copy link
Member Author

rviscomi commented Sep 8, 2019

Yes please 😊

@foxdavidj
Copy link
Contributor

  1. 9.21 would need another custom metric, regex would be far too unreliable
  2. 9.33 and 9.34 would also require custom metrics
  3. I believe 9.25 would be IMPLd by checking ScreenOrientation.lock usage, so we can just reuse 12.07

@rviscomi Want me to take care of the 9.23 and 9.25? After which we should be able to close out this issue

@rviscomi
Copy link
Member Author

@rviscomi Want me to take care of the 9.23 and 9.25? After which we should be able to close out this issue

Yes, that'd be great thanks!

@rviscomi rviscomi removed the ASAP This issue is blocking progress label Sep 25, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
analysis Querying the dataset
Projects
None yet
Development

No branches or pull requests

4 participants