silverstripe-tenon
Check the accessibility of your SilverStripe site with this module that integrates with Tenon (www.tenon.io)., (*1)
Read the Tenon Quick Start Guide for full details (http://www.tenon.io/documentation/quick-start.php)., (*2)
Installation
- Install this module in the /tenon subdirectory of your web site.
- Include /tenon/javascript/tenon_post.js on every public page.
- Run /dev/build?flush=all
- Register with www.tenon.io to get your own API key.
- Open the Tenon tab on the CMS Settings page and paste your key into the Tenon API Key text box.
- Adjust the other CMS settings as desired.
Settings
The following settings are available in Settings->Tenon:
+ Tenon API URL At the time of writing this should be http://www.tenon.io/api/ - check the Tenon website if this doesn't work.
+ Tenon API Key You get this after registering with Tenon.
+ Tenon Certainty Threshold Each warning or error has a level of certainty. You can change this threshold to filter the results.
+ Tenon WCAG Level Read the details here: http://www.w3.org/WAI/intro/wcag
+ Tenon Priority Cutoff Some errors are more important than others. Adjust this value to filter the results.
+ Tenon Source The module can either send the page URL to Tenon, or send the HTML. The latter is particularly useful for development.
+ Tenon JSON Response For debugging your initial Tenon setup, you can send a summary log back to the web page and inspect it in the console., (*3)
How it works
Whenever a page is loaded a hash of the DOM is generated. The page URL and the hash are queried in the Tenon Hash table in your Silverstripe database.
If there's a match, nothing happens. Otherwise the page is analysed and the hash is added to the Tenon Hash table so it's not analysed again until it changes., (*4)
Analysis involves sending either the page URL or the page HTML (configurable in Settings->Tenon) to http://tenon.io/api/ and processing the results in four steps:, (*5)
- Any HTTP response other than 200 is ignored.
- If Tenon itself returns a response other than 200 Success this is logged to the Tenon Error table in your Silverstripe database and processing ends.
- If the response is 200 Success, any existing entries for the page URL are deleted from the Tenon Error table and steps 3 and 4 begin.
- Any reported Javascript errors are added: these can block Tenon's page analysis and effort should be made to resolve them.
- Finally accessibility errors and warnings are put into the Tenon Error table.
To view the results, open the Tenon Results tab in your Silverstripe Admin area., (*6)
Authors
This module was written for Govt.nz, a Common Web Platform project of the New Zealand Government.
It's made available to the wider Silverstripe community in the interests of web accessibility., (*7)