rancher / dashboard

The Rancher UI
https://rancher.com
Apache License 2.0
463 stars 262 forks source link

Evaluate Dashboard UI against Accessibility standards #3149

Open nwmac opened 3 years ago

nwmac commented 3 years ago

We need to conduct an evaluation of the Dashboard UI against accessibility standards.

Specifically for now:

Write up a report on compliance and identify key areas needing improvement and specific actions we need to take to reach compliance (or at least reach an acceptable level of compliance, TBD)

(Note, we may also need to evaluate against https://www.section508.gov/create/software-websites in the future)

lvuch commented 3 years ago

Tools and resources to use: https://www.a11yproject.com/checklist/#appearance https://www.a11yproject.com/resources/#browser-extensions accessibilityinsights.com

lvuch commented 3 years ago

Here are some items from a pass on cluster dashboard page using accessibilityinsights.com fast pass: https://mysuse-my.sharepoint.com/:w:/g/personal/lauren_harden_suse_com/EQr68YXSmqFLhuI4NjRf71wBMsXEM-bB_N1X2FZ7Yp-HEA

lvuch commented 3 years ago

Chatted with product brand team (Jesus and Cynthia)

Technical requirements

lvuch commented 3 years ago

From Chris Nuber (RFed) client had asked if Rancher had a VPAT/508 compliance on the federal side

bdekany commented 3 years ago

Hi,

I've try to integrate pa11y-ci to package.json. Testing the login page is easy and generate a report (30+ issues against WCAG2 baseline)

But it's hard to test the actual dashboard as login and password field doesn't have CSS Element id nor class.

My pa11y configfile : rancher26.json

{
  "defaults": {
    "chromeLaunchConfig": {
      "ignoreHTTPSErrors": "true"
    }
  },
  "urls": [
    {
      "url": "https://rancher26.mylabserver.com/",
      "userAgent": "Mozilla"
    },
    {
      "url": "https://rancher26.mylabserver.com/dashboard/home",
      "userAgent": "Mozilla",
      "actions": [
        "set field div.mb-20 div.labeled-input.edit input to admin",
        "set field div div.labeled-input.edit input to password",
        "click element .btn.role-primary",
        "wait for path to be /dashboard/home"
      ]
    }
  ]
}

Installation on openSUSE:

sudo zypper in nodejs14 cairo gtk3 mozilla-nss libxshmfence1
sudo npm install -g pa11y-ci --unsafe-perm

Run command: pa11y-ci -c rancher26.json