
Product
Introducing Webhook Events for Alert Changes
Add real-time Socket webhook events to your workflows to automatically receive software supply chain alert changes in real time.
@cantoo/cantoo-web
Advanced tools
Documentation for Cantoo Web
Ce projet permet d'ajouter facilement les fonctionnalités d'accessibilité de Cantoo Web à vos pages HTML.
Pour intĂ©grer le script Ă votre site, ajoutez simplement la balise suivante dans les pages HTML oĂč vous souhaitez l'activer :
<script type="module" src="https://download.cantoo.fr/cantoo-web-xxx.js" defer></script>
Remplacez xxx par le nom de votre projet, qui vous a été communiqué lors de notre collaboration.
Si vous utilisez un environnement Node.js ou un bundler moderne (Webpack, Vite, etc.), vous pouvez installer la bibliothĂšque via npm :
npm install @cantoo/cantoo-web
ou avec yarn :
yarn add @cantoo/cantoo-web
loadCantooLa bibliothĂšque npm expose une fonction loadCantoo qui charge dynamiquement le script Cantoo Web et retourne une promesse avec l'objet global Cantoo :
import { loadCantoo } from "@cantoo/cantoo-web";
// Charger le script Cantoo Web
loadCantoo("https://download.cantoo.fr/cantoo-web-xxx.js")
.then((Cantoo) => {
console.log("Cantoo Web chargé avec succÚs");
// Ou charger des paramÚtres personnalisés
Cantoo.load({
"vocal-dictation": {
lang: "fr-FR",
},
"vocal-reading": {
lang: "fr-FR",
rate: 1.0,
},
"accessibility-options": {
fontSize: 16,
lineSpacing: 1.5,
},
"plugin-options": {
language: "fr",
activeOptions: [
"vocalRecognition",
"vocalSynthesis",
"textCustomization",
],
},
});
})
.catch((error) => {
console.error("Erreur lors du chargement de Cantoo Web:", error);
});
La bibliothÚque inclut des définitions TypeScript complÚtes pour l'API Cantoo Web. Vous bénéficiez ainsi de l'autocomplétion et de la vérification de types dans votre IDE :
import {
loadCantoo,
type Cantoo,
type CantooWebData,
} from "@cantoo/cantoo-web";
// Types disponibles pour l'objet Cantoo et ses paramĂštres
const params: CantooWebData = {
"vocal-dictation": { lang: "fr-FR" },
"vocal-reading": { lang: "fr-FR", rate: 1.0 },
"accessibility-options": {},
"plugin-options": {},
};
loadCantoo("https://download.cantoo.fr/cantoo-web-xxx.js").then(
(cantoo: Cantoo) => {
cantoo.load(params);
}
);
Note : Remplacez
xxxpar le nom de votre projet dans l'URL du script.
Les mises à jour du script sont automatiques. Aucune action n'est nécessaire de votre part pour bénéficier des derniÚres fonctionnalités et corrections.
Une fois intégré, vous bénéficiez déjà de l'adaptation offerte par Cantoo Web et vous n'avez rien à faire. Toutefois, si vous souhaitez un niveau d'intégration plus fin, ou mettre à profit les fonctionnalités de Cantoo Web pour améliorer votre produit, le script expose un objet global nommé Cantoo contenant plusieurs fonctionnalités clés, permettant de contrÎler les fonctionnalités de l'outil :
/**
* Objet global Cantoo exposé par le script Cantoo Web.
*/
declare const Cantoo: {
speech2text: Speech2Text;
text2speech: Text2Speech;
writeTextOnInput: (spokenText: string, inputTarget?: HTMLElement) => void;
openCantooWebConfig: () => void;
formatText: (html: string) => string;
login: (login: string, password: string) => Promise<void>;
logout: () => void;
activate: () => void;
deactivate: () => void;
load: (params: CantooWebData) => void;
addParameterChangeListener: (listener: (params: CantooWebData) => void) => void;
removeParameterChangeListener: (listener: (params: CantooWebData) => void) => void;
addUsageEventListener: (listener: (event: UsageEvent) => void) => void;
removeUsageEventListener: (listener: (event: UsageEvent) => void) => void;
};
/**
* Types de données pour la dictée vocale.
*/
type VocalDictationData = {
lang?: string;
};
/**
* Types de données pour la lecture vocale.
*/
type VocalReadingData = {
lang?: string;
voice?: string;
rate?: number;
delay?: number;
};
/**
* Types de données pour les options de plugin.
*/
type PluginOptionsData = {
textExtractionOnModal?: boolean;
activeOptions?: Array<'vocalRecognition' | 'vocalSynthesis' | 'textCustomization' | 'translator' | 'dictionary' | 'visualAssistance' | 'floatingBar'>;
language?: string;
};
/**
* Interface définissant la structure des données de configuration Cantoo Web.
* Cette interface est un enregistrement (Record) avec des clés spécifiques.
*/
interface CantooWebData {
'vocal-dictation': VocalDictationData;
'vocal-reading': VocalReadingData;
'accessibility-options': AccessibilityOptions;
'plugin-options': PluginOptionsData;
}
/**
* Options d'accessibilité.
*/
interface AccessibilityOptions {
wordSpacing?: number;
syllableSpacing?: number;
lineSpacing?: number;
letterSpacing?: number;
fontSize?: number;
fontFamily?: string;
syllableSeparator?: '|' | '-' | '/' | '+' | '·';
colorByMode?: 'word' | 'syllable' | 'sound';
colorSet?: string[];
soundsColors?: { [sound: string]: string };
soundsBackgroundColors?: Record<string, string>;
specialStrategy?: {
type?: 'bionic' | 'bounds' | 'sounds' | 'silent';
bold?: boolean;
color?: string;
};
vocalSynthesis?: boolean;
vocalSynthesisSpeed?: number;
vocalSynthesisFeedbackDelay?: number;
vocalSynthesisKeyboardFeedback?: boolean;
vocalSynthesisButtonFeedback?: boolean;
vocalSynthesisLabelFeedback?: boolean;
vocalSynthesisWritingFeedback?: boolean;
magnifier?: boolean;
magnifierZoom?: number;
dictionary?: boolean;
translator?: boolean;
contrastMode?: 'highContrast' | 'darkMode';
invertImages?: boolean;
readBand?: boolean;
bandWidth?: number;
bandOpacity?: number;
}
/**
* Gestion de la dictée vocale (reconnaissance vocale).
*/
interface Speech2Text {
/**
* Indique si la dictée est actuellement en cours.
*/
isListening: boolean;
/**
* Démarre la reconnaissance vocale.
*
* @param onResult - Fonction appelée avec les résultats de la dictée.
* @param localeProp - (optionnel) Code de langue à utiliser (ex: "fr-FR"). Si non fourni, la langue est déduite automatiquement.
* @param onStartDownloadModel - (optionnel) Callback appelĂ© au dĂ©but du tĂ©lĂ©chargement dâun modĂšle vocal si nĂ©cessaire.
* @param onEndDownloadModel - (optionnel) Callback appelĂ© Ă la fin du tĂ©lĂ©chargement dâun modĂšle vocal.
* @returns Une promesse qui se résout lorsque la dictée démarre.
* @throws Une erreur si aucun locale nâest fourni ou dĂ©tectable, si la Speech API nâest pas disponible ou si les permissions sont refusĂ©es.
*/
start: (
onResult: (results?: string[]) => void,
localeProp?: string,
onStartDownloadModel?: () => void,
onEndDownloadModel?: () => void
) => Promise<void>;
/**
* ArrĂȘte la reconnaissance vocale.
* @returns Une promesse qui se rĂ©sout lorsque la dictĂ©e est arrĂȘtĂ©e.
*/
stop: () => Promise<void>;
}
/**
* Gestion de la synthĂšse vocale (text-to-speech).
*/
interface Text2Speech {
/**
* Liste toutes les voix disponibles sur le systĂšme.
* @returns Un tableau de voix utilisables.
*/
readVoices: () => Voice[];
/**
* Retourne une voix Ă partir de son identifiant.
* @param voiceId - Identifiant de la voix.
* @returns Lâobjet SpeechSynthesisVoice correspondant.
*/
getVoice: (voiceId: string) => SpeechSynthesisVoice;
/**
* Utterance en cours, si applicable.
*/
utter: SpeechSynthesisUtterance;
/**
* Instance native de synthĂšse vocale, ou undefined si non disponible.
*/
synth: SpeechSynthesis | undefined;
/**
* Lit un texte Ă haute voix.
* @param readText - Le texte Ă lire.
*/
readText: (readText: string) => void;
/**
* Configure les paramĂštres de synthĂšse vocale.
* @param config - Objet de configuration.
*/
setConfig: (config: {
voice: string;
lang: string;
volume?: number;
rate?: number;
pitch?: number;
}) => void;
/**
* RécupÚre la configuration actuelle de synthÚse vocale.
* @returns Les paramÚtres configurés.
*/
getConfig: () => {
voice: string | undefined;
lang: string;
volume: number;
rate: number;
pitch: number;
};
}
/**
* InsÚre un texte dicté dans un champ de saisie HTML.
*
* @param spokenText - Le texte à insérer.
* @param inputTarget - (optionnel) L'élément HTML cible. Si non défini, le focus actuel est utilisé.
*/
declare function writeTextOnInput(spokenText: string, inputTarget?: HTMLElement): void;
/**
* Ouvre lâinterface de configuration utilisateur Cantoo Web.
*/
declare function openCantooWebConfig(): void;
/**
* Applique les prĂ©fĂ©rences dâaccessibilitĂ© de lâutilisateur Ă un contenu HTML.
*
* @param html - Le HTML dâorigine.
* @returns Le HTML transformé avec les préférences appliquées.
*/
declare function formatText(html: string): string;
/**
* Connecte un utilisateur à la base de données Cantoo.
*
* â ïž Un protocole doit ĂȘtre mis en place avec lâĂ©quipe Cantoo pour permettre lâenregistrement.
*
* @param login - Identifiant de l'utilisateur.
* @param password - Mot de passe de l'utilisateur.
* @returns Une promesse résolue à la fin de la connexion.
*/
declare function login(login: string, password: string): Promise<void>;
/**
* DĂ©connecte lâutilisateur actuellement connectĂ©.
*/
declare function logout(): void;
/**
* Active toutes les fonctionnalités de Cantoo Web sur la page.
*/
declare function activate(): void;
/**
* Désactive toutes les fonctionnalités de Cantoo Web sur la page.
*/
declare function deactivate(): void;
/**
* Charge les paramĂštres de configuration de Cantoo Web.
*
* @param params - Les paramĂštres de configuration Ă charger.
*/
declare function load(params: CantooWebData): void;
/**
* Ajoute un écouteur pour les changements de paramÚtres de configuration.
*
* @param listener - Fonction appelée lors des changements de paramÚtres.
*/
declare function addParameterChangeListener(
listener: (params: CantooWebData) => void
): void;
/**
* Supprime un écouteur de changement de paramÚtres précédemment ajouté.
*
* @param listener - L'écouteur à supprimer.
*/
declare function removeParameterChangeListener(
listener: (params: CantooWebData) => void
): void;
/**
* Type d'événement d'utilisation de Cantoo Web.
*/
type UsageEvent =
| "CANTOO_READ_TEXT"
| "CANTOO_ADAPT_TEXT"
| "CANTOO_DICTATE_TEXT"
| "CANTOO_TRANSLATED_TEXT"
| "CANTOO_DEFINED_TEXT";
/**
* Ajoute un écouteur pour les événements d'utilisation de Cantoo Web.
* Permet de suivre les actions effectuées par les utilisateurs.
*
* @param listener - Fonction appelée lors des événements d'utilisation.
*/
declare function addUsageEventListener(
listener: (event: UsageEvent) => void
): void;
Exemple d'utilisation :
Cantoo.addUsageEventListener((event) => {
console.log("ĂvĂ©nement d'utilisation:", event);
// Exemple: "CANTOO_READ_TEXT" lorsqu'un utilisateur utilise la synthĂšse vocale
});
/**
* Supprime un écouteur d'événements d'utilisation précédemment ajouté.
*
* @param listener - L'écouteur à supprimer.
*/
declare function removeUsageEventListener(
listener: (event: UsageEvent) => void
): void;
cantoo-ignore-vocal-recognition - DĂ©sactiver la reconnaissance vocaleSi vous souhaitez gĂ©rer manuellement la dictĂ©e vocale dans certains champs de saisie, vous pouvez utiliser la classe CSS cantoo-ignore-vocal-recognition. Vous pourrez alors crĂ©er votre propre bouton pour dĂ©clencher et arrĂȘter la reconnaissance vocale et l'ajouter Ă votre propre barre d'outils
<!-- Cet input n'aura pas le bouton de dictée vocale inséré automatiquement -->
<input type="text" class="cantoo-ignore-vocal-recognition" />
Cette classe empĂȘche lâinsertion automatique du bouton de dictĂ©e vocale dans lâĂ©lĂ©ment ciblĂ©. Vous pouvez ainsi utiliser les fonctions de lâAPI window.Cantoo.speech2text pour implĂ©menter votre propre logique de traitement, et placer le bouton dans votre barre dâoutils ou Ă lâemplacement de votre choix.
cantoo-ignore-hover-events - DĂ©sactiver la barre d'outils au survolSi vous souhaitez empĂȘcher lâaffichage du Tooltip Cantoo lors du survol dâun Ă©lĂ©ment ou de ses enfants, ajoutez la classe CSS cantoo-ignore-hover-events Ă cet Ă©lĂ©ment.
<!-- Aucun Tooltip Cantoo ne sera affiché lors du survol de cet élément ou de ses enfants -->
<div class="cantoo-ignore-hover-events">...</div>
Cette classe dĂ©sactive lâapparition du Tooltip Cantoo sur lâĂ©lĂ©ment ciblĂ© ainsi que sur tous ses descendants lors dâun survol avec la souris.
âčïž Note : Il reste possible de sĂ©lectionner du texte dans ces Ă©lĂ©ments pour lâadapter, mĂȘme si le Tooltip nâapparaĂźt pas au survol.
cantoo-ignore-all - DĂ©sactiver complĂštement Cantoo Web sur un Ă©lĂ©mentSi vous souhaitez empĂȘcher toute interaction Cantoo Web (barre d'outils au survol et barre d'outils lors de la sĂ©lection) sur un Ă©lĂ©ment, ajoutez la classe CSS cantoo-ignore-all Ă cet Ă©lĂ©ment.
<!-- Cantoo Web sera totalement désactivé sur cet élément -->
<div class="cantoo-ignore-all">...</div>
Cette classe dĂ©sactive Ă la fois lâapparition du Tooltip Cantoo au survol et lâapparition de la barre d'outils lors de la sĂ©lection sur lâĂ©lĂ©ment ciblĂ© et ses descendants.
Pour toute question ou pour obtenir un nom de projet, veuillez contacter notre équipe Cantoo.
© Cantoo - Tous droits réservés.
FAQs
Typed loader and global definitions for Cantoo web
We found that @cantoo/cantoo-web demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Add real-time Socket webhook events to your workflows to automatically receive software supply chain alert changes in real time.

Security News
ENISA has become a CVE Program Root, giving the EU a central authority for coordinating vulnerability reporting, disclosure, and cross-border response.

Product
Socket now scans OpenVSX extensions, giving teams early detection of risky behaviors, hidden capabilities, and supply chain threats in developer tools.