Présentation
Presentation
access-settings est un composant web autonome pour ajouter sans effort des options d'accessibilité à votre site web.
access-settings is a standalone web component that makes it easy to add accessibility options to your website.
Il est basé sur une API qu'il est possible d'utiliser indépendamment pour une intégration avancée.
It's built around an API that can be used independently for advanced integration scenarios.
Démarrage rapide
Quick start
Composant web
Web component
Ajouter l'appel du script dans la balise <head> de votre page html :
Add the script tag to the <head> of your HTML page :
Puis insérer le composant en fin de balise <body> :
Then insert the component at the end of the <body> tag :
Et le tour est joué ! Sur la droite de votre écran apparaît l'icône de configuration de vos préférences.
That's it ! A settings icon for configuring your preferences will appear on the right side of your screen.
Pour une utilisation plus avancée, vous pouvez parcourir la suite de cette documentation.
For more advanced usage, continue reading this documentation.
Bookmarklet (βeta)
En tant qu'internaute, vous pouvez utiliser le composant <access-settings>
en tant que
As a user, you can use the <access-settings> component
as a
bookmarklet.
Pour cela, faites glisser le bouton suivant jusqu'à votre barre de favoris :
To do this, drag the button below to your bookmarks/favorites bar :
Sur n'importe quelle page web, vous pourrez cliquer sur ce favori pour configuer vos préférences d'accessibilité.
On any webpage, click this bookmark to configure your accessibility preferences.
Avertissement : selon la politique de sécurité de la page visitée ainsi que la qualité du code css, il se peut que le composant ne puisse pas se charger ou ne fonctionne pas correctement.
Warning: Depending on the security policy of the page you're visiting, as well as the quality of the CSS code, the component may fail to load or not work correctly.
API
Vous pouvez aussi utiliser uniquement l'API et gérer vous-même l'interface utilisateur.
You can also use just the API and build your own user interface.
Types d'installation
Installation
CDN
Comme indiqué plus haut, l'utilisation d'un serveur CDN est la façon la plus simple et la plus rapide d'installer le composant.
As mentioned above, using a CDN is the easiest and fastest way to install the component.
NPM
Vous pouvez aussi installer le composant par NPM.
You can also install the component via NPM.
Téléchargement direct
Direct download
Ou encore télécharger directement le fichier sur GitHub, ou uniquement l'API.
Alternatively, you can directly download the file from GitHub, or just the API alone.
Options du composant
Component options
all
Pour afficher toutes les options, utiliser l'attribut all.
To display all options, use the attribute all.
dyslexic-font
Pour activer l'option police dyslexie, utiliser l'attribut dyslexic-font.
To activate the dyslexia font option, use the attribute dyslexic-font.
La police utilisée est Open Dyslexic depuis le serveur CDN|Fonts.
The font used is Open Dyslexic from the CDN|Fonts server.
invert-colors
Pour activer l'option d'inversion des couleurs, utiliser l'attribut invert-colors.
To enable the color inversion option, use the attribute invert-colors.
contrast
Pour activer le réglage du contraste, utiliser l'attribut contrast.
To enable contrast setting, use the attribute contrast.
font-size
Pour activer le réglage de la taille du texte, utiliser l'attribut font-size.
To enable text size setting, use the attribute font-size.
line-height
Pour activer le réglage de la hauteur de ligne, utiliser l'attribut line-height.
To enable line height setting, use the attribute line-height.
combinaison
combination
Vous pouvez bien sûr combiner ces options.
You can of course combine these options.
side="left"
Par défaut le composant est placé sur le bord droit de l'écran. Pour le positionner à gauche,
utiliser l'attribut side="left"
By default the component is placed on the right edge of the screen. To position it on the left,
use the attribute side="left"
rounded
Pour que le contour de l'icône soit arrondi, utiliser l'attribut rounded
To round the icon outline, use the attribute rounded
lang
La langue par défaut est déterminée par l'attribut lang de l'élément racine html.
Vous pouvez la surcharger en définissant un attribut lang sur le composant.
Default language is determined by the attribute lang of the root element html.
You can override it by setting a lang attribute to the component.
Les langues disponibles sont français (fr), anglais (en) et espagnol (es).
Available languages are French (fr), English (en) and Spanish (es).
important
Pour outrepasser les règles css existantes, ajouter l'attribut important.
To override existing css rules, add the attribute important.
Attention, cette méthode n'est pas conseillée, elle permet juste le bon fonctionnement du composant dans le cas où le css existant ne suit pas les bonnes pratiques et est difficilement modifiable.
Please note that this method is not recommended. It simply allows the component to function properly in cases where the existing CSS does not follow best practices and is difficult to modify.
Personnalisation
Personalization
Ajouter une langue
Add a language
Vous pouvez ajouter la langue de votre choix de la façon suivante.
You can add the language of your choice as follows.
Position
Vous pouvez définir le positionnement du composant.
You can define the positioning of the component.
Si l'attribut side est défini à left, il vous faudra
définir la propriété css left plutôt que right.
If the attribute side is defined to left,
you will need define the css property left rather than right.
Style de l'icône
Icon style
Vous pouvez personnaliser le style de l'icône en css
You can customize the icon style in css
Changer d'icône
Change icon
Style des éléments
Elements style
Les pseudo-éléments
The pseudo-elements
::part
suivants vous permettent de personnaliser entièrement le style du composant :
following allow you to fully customize the style of the component :
- details : element
<details>- summary : element
<summary>- icon : element
<svg>
- icon : element
-
form : element
<form> -
- summary : element
Exemple
Ajouter des options
Add options
Vous pouvez ajouter des options de la façon suivante :
You can add options as follows
Évènements
Events
change
Vous pouvez ajouter des écouteurs sur l'évènement change.
You can add listeners on the change event.
La propriété detail de l'évènement contient les propriétés :
The detail property of the event contains the properties :
-
prop: nom de la propriété modifiée name of the modified property -
value: nouvelle valeur new value -
preferences: valeurs actuelles de toutes les préférences current values of all preferences
API
Accès
Access
Propriétés
Properties
Réinitialiser une propriété
Reset a property
Tout réinitialiser
Reset all
Sauvegarder les préférences
Save preferences
Les préférences peuvent être sauvegardées dans le
Preferences can be saved in the
localStorage
par la méthode save
using the save method.
Charger les préférences
Load preferences
Les préférences sauvegardées peuvent être chargées et appliquées par la méthode load.
Saved preferences can be loaded and applied using the load method.
Effacer les préférences
Remove preferences
La sauvegarde des préférences peut être supprimée par la méthode remove.
Preference saving can be removed using the remove method.
Évènements
Events
Vous pouvez ajouter des écouteurs sur l'évènement change.
You can add listeners on the change event.
La propriété detail de l'évènement contient les propriétés :
The detail property of the event contains the properties :
-
prop: nom de la propriété modifiée name of the modified property -
value: nouvelle valeur new value -
prevValue: valeur précédente previous value
Ajouter une propriété
Add custom property
Vous pouvez ajouter une propriété de la façon suivante :
You can add a custom property as follows :
- La propriété doit être énumérable.
- Property must be enumerable.
- La méthode
triggerChangedoit être appelée quand la valeur de la propriété est modifiée. - Method
triggerChangemust be called when property value is changed. - La valeur initiale doit être définie dans l'objet
accesSettings.initialValues. - Initial value must be set in object
accesSettings.initialValues.
Dépannage
Troubleshooting
Erreur de chargement
Loading error
Selon la Depending on the stratégie de sécurité security policy de votre page web, il se peut que l'import du script depuis le serveur CDN soit impossible. of your web page, the import of the script from the CDN server may not be possible.
Auquel cas vous pouvez installer la bibliothèque via NPM ou par téléchargement direct.
In which case you can install the library via NPM or by direct download.
Le style ne s'applique pas
Style does not apply
Si la modification d'une préférence d'accessibilité reste sans effet, ou ne correspond pas au résultat attendu,
cela provient probablement du non respect des bonnes pratiques css.
If the modification of an accessibility preference remains without effect, or does not correspond to the expected result,
this is probably due to the lack of respect for good practices css.
Bonnes pratiques à respecter
Best practices to follow
-
Définir une taille absolue de police à la racine du document et n'utiliser que
des unités relatives pour tous les autres éléments.
Set an absolute font size at the root of the document use only relative units for all other elements.
Mauvais exemple : Bad example : h1 { font-size:32px; } p { font-size:16px; } Bon exemple : Good example : :root { font-size:16px; } h1 { font-size:2rem; } /* em, rem, % are ok */ p { font-size:1rem; } -
Définir les propriétés
csssur les éléments génériques et non des sélecteurs trop spécifiques. Definecssproperties on generic elements and not overly specific selectors.Mauvais exemple : Bad example : .title { font-family:Roboto,Arial,sans-serif; } .paragraphe { font-family:system-ui,sans-serif; } Bon exemple : Good example : h1,h2,h3 { font-family:Roboto,Arial,sans-serif; } p { font-family:system-ui,sans-serif; }
Autres problèmes
Other problems
Si vous rencontrez un autre problème, vous pouvez ouvrir un If you encounter another problem, you can open an ticket issue sur github. on github.