Coder Social home page Coder Social logo

Comments (4)

sgomes avatar sgomes commented on May 4, 2024

As an update, we're hoping to do some internal audits on this with Google experts.

In the meantime, we'd also love any community feedback on any accessibility rules we might be breaking. @leifoolsen : you always had good feedback on MDL v1, so if you decide to use MDC-Web in the future, please don't be shy about filing issues! :)

from material-components-web.

traviskaufman avatar traviskaufman commented on May 4, 2024

Accessibility Devtools Audit Results for Components

Component Overall Indicator # Passing Tests # Failing Tests # N/A Tests Warnings / Failures
Button 9 0 17 Contrast ratio too low for disabled raised buttons, accent buttons, and raised accent buttons. I believe this needs to be handled from the design side of things since these colors come from the spec.
Card 5 0 20 Contrast ratio too low for primary and action sections in dark theme card. I believe this needs to be handled from the design side of things since these colors come from the spec.
Checkbox 8 0 19 We could probably make checkbox even more semantic by attaching role="presentation" to the mdc-checkbox__background div
Drawer - Temporary 9 0 17
Drawer - Permanent 9 0 18
FAB ⚠️ 7 0 18 Contrast ratio too low for text on non-plain FABs (similar to buttons above). Absolute FAB in example missing aria-label
Icon Toggle 11 0 15 Contrast ratio too low for "light icon on background" example
List 16 0 10 Contrast ratio too low for end detail on light background
Select 11 (menu closed) / 13 (menu open) 0 14 (menu closed) / 11 (menu open) Contrast ratio too low for unselected list items in select menu
Simple Menu 14 0 12
Radio 8 0 19 Similar to checkbox, we may want to consider giving the radio background role="presentation"
Snackbar 11 0 15 Contrast ratio too low for action button text
Textfield 11 0 15 Contrast ratio too low for text field labels

Main takeaway seems to be that our typographic color guidelines don't seem to have a high enough contrast with their backgrounds, which is a design consideration since those values are taken from spec.

Keyboard Controls status for dynamic components

Component Keyboard controls
Button Built on top of <button>; same functionality
Checkbox Built on top of <input type="checkbox">; same functionality
Temporary Drawer Tab-to-focus; perhaps this needs arrow-key-based navigation?
FAB Built on top of <button>; same functionality
Icon Toggle Tab-focus, spacebar to toggle
Select Tab-focus, spacebar to open, escape to cancel, arrow-keys to navigate, spacebar to select, enter to select
Simple Menu Arrow-keys to navigate, escape to cancel, spacebar to select, enter to select
Radio Built on top of <input type="radio">; same functionality
Snackbar None. Needs to not disappear when action button is focused. Tracking in #28
Textfield Built on top of <input type="text">; same functionality

Other issues

  • Temporary drawers don't trap focus: tracking at #1

from material-components-web.

traviskaufman avatar traviskaufman commented on May 4, 2024

Overall, I think we are headed in a good direction cc @omerziv

from material-components-web.

traviskaufman avatar traviskaufman commented on May 4, 2024

Haven't heard anything negative from our A11y peeps, so closing this for now. We will conduct another review as we near our "beta" milestone.

from material-components-web.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.