Contents
Le rendu auditif d'un document, déjà couramment employé par la communauté des aveugles et des lecteurs déficients, combine la synthèse de la parole avec des "images auditives". Une telle présentation auditive est souvent réalisée, suite à une conversion du document en un texte plein, par un lecteur d'écran (un logiciel ou un appareil qui lit simplement tous les caractères apparaissant à l'écran). Ceci conduit à une présentation bien moins efficace que si la structure du document avait été conservée. On peut utiliser les propriétés des feuilles de style pour une présentation auditive en même temps que visuelle (médias mélangés) ou comme une alternative auditive à une présentation visuelle.
En dehors des avantages évidents pour l'accessibilité des documents, il existe d'autres marchés importants pour l'écoute d'informations, à savoir pour une utilisation dans les voitures, les systèmes de documentation industriels et médicaux (en intranets), les divertissements à la maison et pour aider les utilisateurs qui apprennent ou qui ont des difficultés à lire.
Quand on emploie les propriétés auditives, le canevas consiste en un espace physique en trois dimensions (l'environnement sonore) et en un espace temporel (on peut spécifier des sons avant, pendant et après d'autres sons). Les propriétés CSS permettent aussi une variation de la qualité de la voix synthétisée (le type de voix, la fréquence, l'inflexion, etc.).
H1, H2, H3, H4, H5, H6 { voice-family: paul; stress: 20; richness: 90; cue-before: url("ping.au") } P.heidi { azimuth: center-left } P.peter { azimuth: right } P.goat { volume: x-soft }
Ceci va conduire le synthétiseur de parole à dire les en-têtes avec une voix (un peu comme une "police auditive") appelée "paul", d'un ton neutre mais avec des intonations fortes. Avant la lecture de celles-ci, un échantillon sonore, désigné par l'URI, sera joué. Les paragraphes avec la classe "heidi" sembleront venir de l'avant gauche (pourvu que le système sonore soit capable de spatialisation audio) et ceux avec la classe "peter" venir de la droite. Les paragraphes avec la classe "goat" seront dit très doucement.
Valeur : | <nombre> | <pourcentage> | silent | x-soft | soft | medium | loud | x-loud | inherit |
Initiale : | medium |
S'applique à : | tous les éléments |
Héritée : | oui |
Pourcentage : | se rapporte à la valeur héritée |
Médias : | auditif |
Le volume se réfère à la valeur moyenne de la forme de la vibration. En d'autres mots, une voix avec de fortes inflexions pour un volume de 50 pourrait très bien se situer au-delà de cette moyenne. Ces valeurs globales seront vraisemblablement ajustées par une action humaine pour un certain confort (avec pour effet d'augmenter proportionnellement les valeurs 0 et 100) ; cette propriété permet le réglage de l'échelle dynamique.
Les significations des valeurs sont :
Les agents utilisateurs devraient laisser le soin aux auditeurs de paramétrer les valeurs correspondant aux repères '0' et '100'. Aucun réglage n'est universel, les valeurs convenables dépendant de l'appareil utilisé (haut-parleurs, écouteurs), de l'environnement (en voiture, à la maison sur un ensemble de restitution audio, dans une librairie) et des préférences personnelles. Quelques exemples :
On pourrait utiliser la même feuille de style de l'auteur dans tous ces cas, avec simplement un paramétrage convenable des valeurs '0' et '100' sur l'agent utilisateur.
Cette propriété spécifie si un texte aura un rendu auditif, et si c'est le cas, la manière de ce rendu (d'une façon analogue à la propriété 'visibility' et, parfois, à la propriété 'display'). Les valeurs admises sont :
Noter la différence entre un élément dont la valeur de la propriété 'volume' est 'silent' et un élément dont la valeur de la propriété 'speak' est 'none'. Le premier élément aurait la même durée que s'il avait été lu, y compris les pauses avant et après celui-ci, aucun son n'étant produit. Le second n'a aucune durée et n'est pas rendu (bien que ses descendants puissent l'être).
Valeur : | <durée> | <pourcentage> | inherit |
Initiale : | selon l'agent utilisateur |
S'applique à : | tous les éléments |
Héritée : | non |
Pourcentage : | voir les explications |
Médias : | auditif |
Valeur : | <durée> | <pourcentage> | inherit |
Initiale : | selon l'agent utilisateur |
S'applique à : | tous les éléments |
Héritée : | non |
Pourcentage : | voir les explications |
Médias : | auditif |
Ces propriétés spécifient la pause à observer avant que le contenu d'un élément ne soit lu, ou après qu'il l'ait été. Les significations des valeurs sont :
La pause s'insère entre le contenu de l'élément et les contenus éventuels des propriétés 'cue-before' ou 'cue-after'.
Les auteurs devraient employer des unités relatives pour créer des feuilles de style plus robustes quand le débit de la parole varie beaucoup.
Valeur : | [ [<durée> | <pourcentage>]{1,2} ] | inherit |
Initiale : | selon l'agent utilisateur |
S'applique à : | tous les éléments |
Héritée : | non |
Pourcentage : | voir les descriptions des propriétés 'pause-before' et 'pause-after' |
Médias : | auditif |
La propriété raccourcie 'pause' regroupe les spécifications des propriétés individuelles 'pause-before' et 'pause-after'. Quand on lui donne deux valeurs, la première s'applique à la propriété 'pause-before' et la seconde à la propriété 'pause-after'. Pour une seule valeur, celle-ci s'applique à ces deux propriétés.
H1 { pause: 20ms } /* pause-before: 20ms; pause-after: 20ms */ H2 { pause: 30ms 40ms } /* pause-before: 30ms; pause-after: 40ms */ H3 { pause-after: 10ms } /* pause-before: ?; pause-after: 10ms */
Valeur : | <uri> | none | inherit |
Initiale : | none |
S'applique à : | tous les éléments |
Héritée : | non |
Pourcentage : | sans objet |
Médias : | auditif |
Valeur : | <uri> | none | inherit |
Initiale : | none |
S'applique à : | tous les éléments |
Héritée : | non |
Pourcentage : | sans objet |
Médias : | auditif |
Les images auditives sont une autre façon de distinguer des éléments sémantiques. On peut jouer des sons avant et/ou après un élément et, ainsi, le délimiter. Les significations des valeurs sont :
A {cue-before: url("bell.aiff"); cue-after: url("dong.wav") } H1 {cue-before: url("pop.au"); cue-after: url("pop.au") }
Valeur : | [ <'cue-before'> || <'cue-after'> ] | inherit |
Initiale : | non définie pour les propriétés raccourcies |
S'applique à : | tous les éléments |
Héritée : | non |
Pourcentage : | sans objet |
Médias : | auditive |
La propriété raccourcie 'cue' regroupe les spécifications des propriétés individuelles 'cue-before' et 'cue-after'. Quand on lui donne deux valeurs, la première s'applique à la propriété 'cue-before' et la seconde à la propriété 'cue-after'. Pour une seule valeur, celle-ci s'applique à ces deux propriétés.
Ces deux règles sont équivalentes :
H1 {cue-before: url("pop.au"); cue-after: url("pop.au") } H1 {cue: url("pop.au") }
Quand un agent utilisateur ne peut rendre une image auditive (ex. l'environnement de l'utilisateur ne le permettant pas), on recommande que celui-ci produise un signal alternatif (ex. un message d'avertissement, l'émission d'un bip sonore, etc.).
Voir les passages sur les pseudo-éléments :before et :after pour des informations sur les aspects techniques de la génération de contenu.
Valeur : | <uri> mix? repeat? | auto | none | inherit |
Initiale : | auto |
S'applique à : | tous les éléments |
Héritée : | non |
Pourcentage : | sans objet |
Médias : | auditif |
Semblable aux propriétés 'cue-before' et 'cue-after', cette propriété spécifie le son à jouer en arrière-plan, au cours de la lecture de l'élément. Les significations des valeurs sont :
BLOCKQUOTE.sad { play-during: url("violins.aiff") } BLOCKQUOTE Q { play-during: url("harp.wav") mix } SPAN.quiet { play-during: none }
La spatialisation de l'écoute est une importante propriété de style pour une présentation auditive. C'est une façon naturelle de discriminer entre plusieurs voix, comme dans la réalité (les gens se tiennent rarement au même endroit dans une pièce). Les haut-parleurs en stéréo produisent une scène sonore latérale. Les écouteurs quadriphoniques ou les configurations de chaînes avec 5 haut-parleurs, de plus en plus répandues, peuvent reproduire un environnement sonore complet et certaines configurations avec de multiples haut-parleurs peuvent créer une véritable scène sonore en trois dimensions. VRML 2.0 inclut également une spatialisation audio, ce qui implique la disponibilité allant grandissant de matériels grand public intégrant ces mécanismes.
Les significations des valeurs sont :
Cette propriété sera plus vraisemblablement implémentée par le mélange d'un même signal issus de différents canaux, leurs volumes étant différents. Ceci pourrait aussi être obtenu par une modulation de phase, un retard digital et autres techniques de ce genre qui donne l'illusion d'une scène sonore. Les moyens précis d'atteindre cet effet ainsi que le nombre de haut-parleurs nécessaires dépendent de l'agent utilisateur, cette propriété décrivant simplement le résultat final souhaité.
H1 { azimuth: 30deg } TD.a { azimuth: far-right } /* 60deg */ #12 { azimuth: behind far-right } /* 120deg */ P.comment { azimuth: behind } /* 180deg */
Quand on spécifie un azimuth spatial, l'appareil de sortie ne pouvant produire de sons en arrière de la position de l'auditeur, les agents utilisateurs devraient convertir ces valeurs de l'hémisphère arrière pour les ramener vers l'hémisphère avant. En voici une méthode :
Valeur : | <angle> | below | level | above | higher | lower | inherit |
Initiale : | level |
S'applique à : | tous les éléments |
Héritée : | oui |
Pourcentage : | sans objet |
Médias : | auditif |
Les significations des valeurs sont :
Les moyens précis d'obtenir cet effet ainsi que le nombre de haut-parleurs nécessaires pour cela ne sont pas définis. Cette propriété décrit simplement le résultat final souhaité.
H1 { elevation: above } TR.a { elevation: 60deg } TR.b { elevation: 30deg } TR.c { elevation: level }
Valeur : | <nombre> | x-slow | slow | medium | fast | x-fast | faster | slower | inherit |
Initiale : | medium |
S'applique à : | tous les éléments |
Héritée : | oui |
Pourcentage : | sans objet |
Médias : | auditif |
Cette propriété spécifie le débit de la parole. Noter que des valeurs de mots-clés absolus et relatifs sont à la fois admises (à comparer avec la propriété 'font-size'). Les significations des valeurs sont :
Valeur : | [[<voix-spécifique> | <voix-générique> ],]* [<voix-spécifique> | <voix-générique> ] | inherit |
Initiale : | selon l'agent utilisateur |
S'applique à : | tous les éléments |
Héritée : | oui |
Pourcentage : | sans objet |
Médias : | auditif |
La valeur est une liste de noms de familles de voix, ceux-ci séparés par une virgule et par ordre de priorité (à comparer avec 'font-family'). Les significations des valeurs sont :
H1 { voice-family: announcer, male } P.part.romeo { voice-family: romeo, male } P.part.juliet { voice-family: juliet, female }
On peut mettre les noms des voix spécifiques entre guillemets et on doit en effet le faire si un mot éventuel formant le nom ne se conforme pas aux règles de syntaxe pour les identifiants. On recommande aussi les guillemets pour les noms des voix spécifiques composés de plusieurs mots. Si on omet ces guillemets, les caractères blancs survenant avant ou après le nom de la famille de voix sont ignorés et les séquences éventuelles de ceux-ci sont converties en un seul espace.
Valeur : | <fréquence> | x-low | low | medium | high | x-high | inherit |
Initiale : | medium |
S'applique à : | tous les éléments |
Héritée : | oui |
Pourcentage : | sans objet |
Médias : | auditif |
Cette propriété spécifie la tonalité moyenne (une fréquence) de la voix. Celle-ci dépend de la famille de voix. Par exemple, la tonalité moyenne pour une voix masculine se situe aux alentours de 120Hz et pour une voix féminine aux alentours de 210Hz.
Les significations des valeurs sont :
Valeur : | <nombre> | inherit |
Initiale : | 50 |
S'applique à : | tous les éléments |
Héritée : | oui |
Pourcentage : | sans objet |
Médias : | auditif |
Cette propriété spécifie la variation d'une tonalité moyenne. La perception de la tonalité d'une voix humaine est déterminée par la fréquence fondamentale, la valeur typique de celle-ci étant 120Hz pour une voix masculine et 210Hz pour une voix féminine. Les langues humaines comportent des inflexions et des tonalités variables, ces variations véhiculent des significations supplémentaires et des accentuations. Ainsi, une voix exaltée, qui a beaucoup d'inflexions, affiche une grande variation de tonalité. Cette propriété donne l'étendue de cette variation, c.à.d. de combien la fréquence fondamentale peut dévier par rapport à la tonalité moyenne.
Les significations des valeurs sont :
Cette propriété spécifie la hauteur des "pics locaux" dans le profil de l'intonation d'une voix. Par exemple, l'anglais est une langue accentuée, différentes parties d'une phrase recevant une accentuation primaire, secondaire ou tertiaire. La valeur de la propriété 'stress' régit l'ampleur de l'inflexion survenant à l'endroit de ces accentuations. Cette propriété s'utilise en conjonction avec la propriété 'pitch-range' et permet aux développeurs l'exploitation d'appareils auditifs de haute performance.
Les significations des valeurs sont :
Valeur : | <nombre> | inherit |
Initiale : | 50 |
S'applique à : | tous les éléments |
Héritée : | oui |
Pourcentage : | sans objet |
Médias : | auditif |
Cette propriété spécifie l'ampleur, ou la clarté, d'une voix. Une voix ample va "porter" dans une grande pièce, au contraire d'une voix douce (le terme "douce" se réfère au dessin de la forme de la vibration).
Les significations des valeurs sont :
Une propriété de diction supplémentaire, speak-header, est décrite dans le chapitre sur les tables.
Valeur : | code | none | inherit |
Initiale : | none |
S'applique à : | tous les éléments |
Héritée : | oui |
Pourcentage : | sans objet |
Médias : | auditif |
Cette propriété spécifie comment lire les signes de ponctuation. Les significations des valeurs sont :
Valeur : | digits | continuous | inherit |
Initiale : | continuous |
S'applique à : | tous les éléments |
Héritée : | oui |
Pourcentage : | sans objet |
Médias : | auditif |
Cette propriété contrôle la façon de lire les nombres. Les significations des valeurs sont :