ckeditor4-plugin-a11ychecker
ckeditor4-plugin-a11ychecker copied to clipboard
Change deprecated engine
aXe looks like good candidate – it's used by several big projects, like Google's Lighthouse.
+1 for aXe
Is there currently any movement integrating aXe in place of Quail?
Another engine suggested in #253 is pa11y.
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/
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.
Are there any instructions on how to use the CKEditor Accessibility Checker with the aXe-core lib? Thanks.
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
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?
@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).
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.
Pretty impressive list of projects using aXe https://github.com/dequelabs/axe-core/blob/develop/doc/projects.md
Ok, perhaps this isn't as hard as it seems, see https://github.com/dequelabs/axe-core/issues/1466#issuecomment-479162718
So would would need to happen to swap out the accessibility engine for the ckeditor-plugin-a11ychecker?
I couldn't find an associated pull request for this change, has anyone been able to get this engine changed?
I am pretty sure it hasn't been done yet.
I'm happy to help whomever starts working on this (I work on axe-core)
+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.
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
- https://khan.github.io/tota11y/
- https://squizlabs.github.io/HTML_CodeSniffer/
@mgifford I am not sure why you state in the other ticket that integrating axe-core would take a lot of customization.
- 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.
- 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.
@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.
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.
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.
@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.