is a Fractal(link is external) add-on that let's you test your components against Tenon(link is external) for accessibility issues.
Installation
To add Tenon support to your Fractal instance, run
npm install fractal-tenon --save
Configuration
To add the Tenon tab to your component view and enable accessibility testing, you need to add some lines to your fractal.js
project configuration(link is external):
'use strict';
const fractal = module.exports = require('@frctl/fractal').create();
/* Regular project configuration here ... */
// Require the Fractal theme and Tenon add-on libraries
const mandelbrot = require('@frctl/mandelbrot');
const tenon = require('fractal-tenon');
// Explicitly create a theme instance
const theme = mandelbrot(/* {...} */);
// Configure Tenon support
tenon(theme, {
apiKey: '<TENON_API_KEY>',
publicUrl: 'http://fractal.example.com'
});
// Let Fractal use the configured theme
fractal.web.theme(theme);
You need to provide two parameters to configure Tenon support:
- Tenon API Key: You will find this one under the "API Key" section on your tenon.io(link is external) dashboard (account required).
- Public URL: Your Fractal instance needs to be publicly available for Tenon to fetch and test your components. Provide the fully qualified URL (including scheme and port if necessary).
If configured correctly, Fractal should show you a new panel labelled "Tenon" in your component view.
You may control its position by explicitly configuring the panels
option of your Fractal theme (e.g. Mandelbrot(link is external)):
const theme = mandelbrot({
panels: ['html', 'view', 'tenon', 'info']
});
Hitting the "Test with Tenon" button will call Tenon and display a short version the issues found for your component. You may view the full test results on tenon.io(link is external);
Important Note
Please be aware that, due to the nature of the Tenon API, you should never make your Tenon connected Fractal instance available to the public. Tenon requires your private API key to be sent with every request, so you basically expose your secret key to anyone having access to your Fractal instance. You have been warned!
Docker Image
We provide an experimental Dockerfile(link is external) for build a Docker image running a Fractal instance with Tenon support.
Known Problems
- The client JavaScript involved requires you to use a fairly recent browser version
- The module is in a very early stage and might have bugs. Please let me know if you spot one!
To-Do
- Add tests
Changelog
Please refer to the changelog for a complete release history.
Legal
Copyright © 2019 Joschi Kuphal joschi@kuphal.net(link sends e-mail) / @jkphl(link is external). fractal-tenon is licensed under the terms of the MIT license.