ryersondmp / sa11y

Sa11y is an accessibility quality assurance tool that visually highlights common accessibility and usability issues. Geared towards content authors, Sa11y straightforwardly identifies errors or warnings at the source with a simple tooltip on how to fix them.

Home Page:https://sa11y.netlify.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

2023 Roadmap

adamchaboryk opened this issue · comments

v2.3.6/v3.0 development branch

  • Refactoring. Store each issue as an object which is then pushed to a single results array. Clean up checkAll function.
  • Build light weight dismissal system to temporarily dismiss warnings. Inspired by Editoria11y.
  • Improve keyboard support for tooltips appended to document body.
  • SCSS refactoring to improve readability.
  • Update TypeScript definition file.

Needs peer review/testing

  • RTL support.
  • Dismissible warnings.
  • headless prop: Use Sa11y in headless mode (no interface).
  • selectorPath prop: Generate CSS selector path of elements, which is then stored in an issue's object.

Wish list/to-do (help wanted)

  • Create a prop to make all toggleable rulesets on by default (without ability to toggle off?)
  • Encapsulate annotations, toggle and panel into web components.
  • Support for querying web components/shadow DOM.
  • Support for Window's High Contrast Mode (WHCM).

Adam's to-do list

  • Create accessibility statement on project website.
  • Make project website open source/public... add markdown support. Consider moving developer docs to GitHub wikis?
  • Explore current implementation of Sa11y in Joomla.

Hi @brianteeman, @thibaudcolas, @albinazs,

I just wanted to provide an update (better late than never!)

I recently published a 3.0.0 dev branch which includes many of the items discussed. Most notably:

  • Create a prop to make all toggleable rulesets on by default.
    • checkAllHideToggles: true will hide the optional/toggle-able checks in the Settings panel (except for Readability), and will ensure that all of these checks are included by default.
  • Encapsulate annotations, toggle and panel into web components.
    • Thank you @thibaudcolas for the initial prep work/pull request! It was immensely helpful to use as a reference. I think I also solved the CSS issue. Instead of using <template>, I broke up the main SCSS file into several smaller files. Each web component then imports the relevant minified CSS. I think it works quite nicely!
  • Support for querying web components/shadow DOM.
    • Sa11y can now pierce the shadow DOM and append annotations within web components. Added a couple new props. autoDetectShadowComponents will automatically check for web components on a page, or manually pass in known web components via comma separated list via shadowComponent

Feel free to have a peek. I'm still working on a few things/testing.

Cheers

Thanks for the update. From what I can see in the current release and proposed 3.0 release the need for Joomla to maintain a fork is probably not necessary anymore. For our next major release (5.0 scheduled for October) we will look towards using the code here with just a configuration wrapper around it for joomla

PS there was a good mention from Hidde de Vries on a11ytalks yesterday
YouTube - Shifting Left: How CMS accessibility Can Help - Hidde de Vries (A11yTalks - April 2023)

slide deck

Awesome. Looking forward to it! Let me know if there's anything else I can do to make it easier for you to implement.

And thanks for sharing the link. Great to see our work highlighted 😄

14/15 tasks complete ✅

@brianteeman, let me know how I can assist with the Joomla port of 3.0. I have Joomla installed locally and will be poking around over the next few weeks. Perhaps I can assist with the design of the back end settings page for Jooa11y. Keep me in the loop!

That would be awesome. I am finishing a project right now but will ping you in 2 weeks