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

Change deprecated engine #242

Open
mlewand opened this issue Aug 28, 2017 · 24 comments
Open

Change deprecated engine #242

mlewand opened this issue Aug 28, 2017 · 24 comments

Comments

@mlewand
Copy link
Contributor

mlewand commented Aug 28, 2017

Quail became deprecated. We need to look for any maintained library.

One known lib is aXe.

@Comandeer
Copy link

aXe looks like good candidate – it's used by several big projects, like Google's Lighthouse.

@nadavkav
Copy link

+1 for aXe

@suchpower
Copy link

Is there currently any movement integrating aXe in place of Quail?

@mlewand
Copy link
Contributor Author

mlewand commented Apr 18, 2018

Another engine suggested in #253 is pa11y.

@mgifford
Copy link

Thanks @mlewand

I think that aXe-core has more momentum at this stage.

They've even got a Chrome app for it now https://axe-core.org/coconut/

@nschonni
Copy link

I used to maintain(ish) Quail, and I would say that aXe is probably a better replacement that pa11y/HTML_Codesniffer. Most of the people that worked on Quail ended up contributing towards aXe and the w3c/auto-wcag rules.

@dylanb
Copy link

dylanb commented Apr 21, 2018

@mlewand pa11y is contemplating moving to axe-core

@johneecc
Copy link

johneecc commented May 1, 2018

Are there any instructions on how to use the CKEditor Accessibility Checker with the aXe-core lib?
Thanks.

@mgifford
Copy link

mgifford commented May 1, 2018

I don't think anyone has done it yet @johneecc interested in giving it a go? You could set up an issue here to help for some advice/direction https://github.com/dequelabs/axe-core

@ZachRHale
Copy link

Hey everyone,
I work with johneecc. I think I'm going to give the switch to axe-core a try. If I get it working would you like me to do a pull request?

@mlewand
Copy link
Contributor Author

mlewand commented May 1, 2018

@ZachRHale That would be lovely. What you need to do is to implement a custom Engine class that derives from Engine type. I'd suggest just starting by copying EngineQuail type and slowly adapting it to use aXe.

You might face some difficulties when handling metadata related to issue types, as they were also stored in Engine type. Finally you'd want to map it to Quick Fixes (if any applicable).

@ZachRHale
Copy link

Thanks @mlewand. This is the first time I've looked at this codebase so it might take me a while but I believe there is a strong need for it.

@mgifford
Copy link

Pretty impressive list of projects using aXe https://github.com/dequelabs/axe-core/blob/develop/doc/projects.md

@mgifford
Copy link

mgifford commented Apr 3, 2019

Ok, perhaps this isn't as hard as it seems, see dequelabs/axe-core#1466 (comment)

So would would need to happen to swap out the accessibility engine for the ckeditor-plugin-a11ychecker?

@anevins12
Copy link

I couldn't find an associated pull request for this change, has anyone been able to get this engine changed?

@mgifford
Copy link

I am pretty sure it hasn't been done yet.

@straker
Copy link

straker commented Mar 23, 2020

I'm happy to help whomever starts working on this (I work on axe-core)

@jkevan
Copy link

jkevan commented May 20, 2020

+1 for aXe
We also looked for a recent and maintain plugin for CKEditor, so it would be cool to have an integration with aXe.

@mgifford
Copy link

axe is great, but also worth considering others as I've outlined in Drupal's issue queue.

These engines have also been incorporated into CKEditor's WYSIWYG in Drupal

@dylanb
Copy link

dylanb commented Jan 20, 2021

@mgifford I am not sure why you state in the other ticket that integrating axe-core would take a lot of customization.

  1. axe-core automatically turns rules on and off based on whether you are analyzing the entire HTML page or just a section of it so it should give your content editors exactly the right results depending on what you analyze.
  2. axe-core allows individual rules to be run with a simple configuration and also allows individual rules to be turned off with a simple configuration that can be passed to the run function. So turning off color contrast for example is really easy.

@mgifford
Copy link

@dylanb which issue queue? I've been advocating folks move to axe for a while (on a lot of issues). I don't know if axe-core integration would be any harder than tota11y or HTML CodeSniffer. I am not sure I've seen a successful integration of axe into a WYSIWYG though. Maybe it exists. If so I'd love an example to add to the list.

I'm not a JS guy, so am looking at what people have accomplished. I am bringing up alternatives, to axe mostly because I haven't seem implementations of axe in this context.

Axe is super powerful, and a core part of so many good, modern, accessibility tools. I'd love to see it incorporated in the core of many authoring tools.

@dylanb
Copy link

dylanb commented Jan 22, 2021

Apologies for the confusion @mgifford it seems like I may have mis-read the comment stream. The integrations with CMS and editors that have been done with axe-core are all closed source that I know of. The features I mentioned above are good reasons to use axe-core for this purpose though - that and the rate of innovation and maintenance. As @straker pointed out above, let us know if we can help.

@ejdunn2001
Copy link

I forked a repo here https://github.com/ejdunn2001/ckeditor-axe that implements axe-core and it is kind of working, but I am unfamiliar with ckeditor's codebase. It is returning results but not displaying them. @dylanb I can use all of the help I can get.

@straker
Copy link

straker commented Jun 22, 2021

@ejdunn2001 I'm also unfamiliar with ckeditor's codebase but I'm happy to work on it with you. Last time I dabbled in it I was able to get axe running on the ckeditor dom, but didn't know what to do with the axe results object to have it integrate with the ckeditor suggestions.

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

No branches or pull requests