Construire une UI contrôlée par la voix

Jan 28, 2026
Comment

NOUS AVONS VU DE NOMBREUSES NOUVELLES API AJOULETES AU WEB AU COURS DES DERNIÈRES ANNÉES QUI CONTRE RÉELLEMENT ACTIVÉ LE CONTENU Web pour AVOIR LE MÊME TYPE DE FONCTIONNÉTIÉ QUE DE NOMBREUSES Demandes. UNE API RELATIVEMENT NOUVELLE Est L'API DE RECONDUISSANCE Vocale, QUI, COMME VOUS POUVEZ PROBABLE DE DREPING, VOUS PERMETT D'UTILISER DE VOLE TELETÉE COMPATEE SUR LA PAGE. Cela Nécessite Un clic pour Démarrer Le Service et à Nouveau pour Arrêter.

Un excellent CAS pour CELA POUR CELA POURRAIT ÊTRE UNE ACCESBILITÉ ENTRE VOS UTILISATEURS, DONNANT UNE Alternative à une alternative Au clic. SI VOS Analyses Montrent que VOUS AVEZ Beaucoup de Navigation Mobile, Pensez à Quel Point Il Serait Plus Facile de Parler de Vélecteur Téléphone Qu'iliser Le Clavier.

IL Y a EU DES PRÉDICTIONS QUE LES INTERFACES À ÉTRAN POURRAENT COMMENCER À DISPARÉRÉ DANS LES DIX ANS. Au Déambut, Cela Pourra, Sembler Science-Fiction, Mais Comme les Utilisateurs Deviennent de Plus en Plus à l'Aise AVEC LA PAROLE AVEC UNE CONTRIBUTION À TROUVERS LES GOÛTS D'ALEXA ET DE SIRI, IL S'AGIT DE RAISONNER QUE CELA Deviendra omniprésent comme une méthode de saisie. Le didacticiel ICI VOUS METTRA AU COURANT DE LA SAISIE DE LA PAROLE, PUIS D'UTILISER CELA POUR LEISSER DES CRITIQUES DE PRODUITS sur ONU Site de Commerce Électronique .

Téléchargez les Fichiers Pour le tutoriel CE.

  • 8 Conseils pour la conception des interfaces vocales

01. Démarrer le Projet

Build a voice controlled UI: Start the project

NE VOUS INQUIÉTTEZ PAS DE CSS 'AEST DÉJÀ ÉCRIT [Image: Web Designer]

Dans Le Dossier Fichas de Projet, Ouvrez le Dossier 'Démarrer' Dans le Code Votre Ide et Ouvrez le Fichier "Speech.ML" Pour Éditer. Tout le CSS pour le Projet ESCRIT CE N'est Pas Le Centre de l'Api de l'Api de l'Api de l'Api, Ajoutez Donc Le Lien Présé Ici pour Obtenir La police de Caractères Noto Serif et Relier Le Fichier CSS.

 & lt; lien href = "https://font.googleapis.com/css?family=noto+serif" rel = "stylesheet" & gt;
& lt; lien rel = "stylesheet" href = "css / style.css" & gt; 

02. Ajouter Le Contenu

Les Premiers Éléments de CE Dernier Seront d'avoir Une Enveloppe dans laque Laquelle Contenir Toute Notre Contenu à l'Écran. Le Premier Élément d'Ici Sera Un Message Caché Qui Indique à l'Utilisateur Si l'Api de la Parole est le prix en charge Dans Le Navigur. CELA NE SERA VU QUE SI CE N'EST PAS LE CAS. Ensuite, UNE Rubrique Indique à l'Utilisateur Que Les Éléments de Formulaire Qui Serivent Seront Utilisés Verser le message.

 & lt; Div id = "wrapper" & gt;
& lt; SPAN ID = "Classe" non supportée "=" SOUTIEN CACHÉ "& GT; API DE LA PAROLE non Prix en charge & lt; / span & gt;
& lt; H2 & GT; VOUT MESSAGE: & LT; / h2 & gt; 

03. Choisisez les Résultats

Lorsque VOUS UTILISZZ L'API DE LA PAROLE, Il existe des Deux Façons d'Afficher le Contenu. En Un, Le Texte S'aiaffiche Lorsque L'Utilisateur A Cessé de Parler et que le Bouton "Écoute" Est Cliqué sur Off. L'AUTRE Montre des Mots à l'Écran Comme Parlé. CE Premier Bouton Radio Permet de Montre Le Résultat de la Parole finale.

 & lt; Div id = "typeOfinput" & gt;
& lt; span & gt; Résultats: & lt; / span & gt;
& lt; Étiquette & gt;
& lt; type d'entrée = nom radio = Valeur de type de reconnaissance = final & gt; Discours final & lt; / label & gt; 

04. Radio Deux

Le DUXIÈME BOUTON RADIO EST AJOUTÉ ITIE ET ​​CELUI-CI Permet à l'Utilisateur de Sélectionner Le Texte à afficher ILS Parlement. CES Boutons Radio Seront Ramassés Par le JavaScript Plus Tard et Utilisés Pour Controller L'Entrée de la Parole, Mais Pour l'Instant, Cela Permet à l'Utilisateur d'avoir pour la CELA Controller CELA.

 & lt; Étiquette & gt;
& lt; type d'entrée = nom radio = Valeur de type de reconnaissance = Enregistrement intermédiaire et gt; Comme Vous Parlez & Lt; / label & gt;
& lt; / div et gt; 

05. Afficher le texte

Build a voice controlled UI: Display the text

LECURS DE L'UTILISATEUR SE RECROUVERA DANS LA ZONE DE TEXTE "Transcription" [Image: Web Designer]

Le Texte que l'utilisateur Parle Plage La page Devra Être Affiche à l'Écran. ICI, LA ZONE DE TEXTE EST AJOUTEE QUI DE «TRANSCRIPTION» - CELA SERA CIBLÉ AFINE QUE LE DISCOURS DE L'UTILISATEUR SE TERMINE ICI. Il y a AUSSI UN BOUTON CLAIR POUR SUPPRIMER LE TEXTE.

& lt; textarea id = "transcription" Readonly & GT;
& lt; / textarea & gt;
& lt; br / & gt;
& lt; Bouton ID = "CLEAR-TOUS" CLASSE = "BOUTON" & GT; Texte clair et lt; / Bouton & gt; 

06. Interface La Dernière

Build a voice controlled UI: The last interface

EN CLIQUANT SUR LE BOUTON DE LA PAROLE, COMMENCE ET ARRÊTE LA DÉTECTION DE LA PAROLE [Image: Web Designer]

Les Éléments d'interface d'interface Finale Sont Ajoutés à l'Écran Enservant. Le Bouton de la Parole Permet et Désactive Le Discours, Il Faut Donc Cliquer Avant de Parler. En cliquant à nouveau l'arrêté. Comme il se'agit d'une infraction relativement Nouvelle, Le Journal en Dessous Indiquère aux Utilisateurs Quoie.

 & lt; div class = "Bouton Emballage" & GT;
    & lt; div id = "JETONKBUTON" CLASSE = "Démarrer" & GT; & lt; / div et gt;
  & lt; / div et gt;
  & lt; div id = "journal" & gt; Cliquez pour Commencer à Parler & Lt; / div et gt;
& lt; / div et gt; 

07. Ajouter JavaScript

Ajustez-vous entretien des balises de script avant l'étiquette du corps de la ferme. C'est tout le JavaScript Ira. Les Deux Premières lignes Saisissent Les Éléments de page Avectifiant correspondant et les Stocker dans la variable. La transcription est le réessutat texte du discours. Le Journal Mettra à jour L'Utilisateur AVEC La Manière de l'Utiliseur.

 & lt; script & gt;
var transcription = document.getelementyid ("transcription");
var journal = document.getelementyid ("log");
& lt; / script & gt; 

08. Variables Résultats

En Ulistant Les prochaines variables, plus d'Éléments d'interface Sont Mis en cache. Le Bouton de la Parole Deviendra Un Bascule, Leissant Les Utilisateurs Basculer et Éteindre Le Discours., Surveille Par Dun variable Boolénne, Vraie / Fausse. Le Bouton Clair-Tout Suppimera des Résultats de la libération conditionnelle Insatisfaits.

 var start = document.getelementyid ("Joliskboutton");
Var Clear = Document.getElementByID ('Effacer-TOUS');
var langue = faux; 

09. EST-CE Pris en charge?

La Première a choisi que Notre-Notre code Fera Est de Savoir Si Cette Fonction de Parole Est Prix en charge par le Navigate de l'utilisateur. SI CE Résultat Revient commune NULL, ALORS L'INSTRUCTION Si Lève le Message Masqué, tout en prénant Simultanément Le Bouton de Démarrage de l'interface pour Arrêter L'Entrée de la Parole.

 fenêtre.speececrecognition = Fenêtre.SpeechRecognition ||
fenêtre.webkitspeechRecognition ||
nul;
Si (Fenêtre.SpeechRecognition === Null) {
document.getelementyid ('non soutenu'). Classlist.remove ("Caché");
start.classlist.add ("Caché");
} else {

10. CommenceZ la reconnaissance

La reconnaissance Vocale Est Lancée Comme Le «Autre» De La Reconnaissance Vocale Disponible. L'Entrée Continuez EST Démarrée Car C'EST LA VALEUR PAR DEÉFAUT SUR LES BOUTONS Radio. La Fonction 'ONRESULT' TRAITERA LES RÉSOLTATATS DE L'ENTRÉE DE LA PAROLE. CELA SERA AJOUTÉ AU CHAMP DE TEXTE DE LA TRANSCRIPTION.

 Var Reconnaiseur = Nouvelle Fenêtre.
Reconnaissance de la libération conditionnelle ();
reconnaissance.continuer = VRAI;
reconnaissant.onresult = Fonction (Événement) {
transcription.textContent = '';
Versez (var i = Événement.Resultindex; i & lt; Événement.
Résultats.Longueur; i ++) {

11. Final ou Intérimaire?

L'instruction IF Vérifie maintenante SI L'Utilisateur Souhaite Afficher Le Texte Car YLENT (IntéRimaires) OU SEULIEMENT APRÈS AVOIR TERMINÉ (finale). VOUS REMARQUEREZ QUE SI EST INTERMÉIAIAIRE, CHAQUE MOT EST AJOUTE AU TEUNTE AVEC LE «+ =», TANDIS QUE LA FINALE Vise Simplement Le Texte Entitier.

 SI (événement.Results [i] .ais .ais) {
transcription.textContent = Événement.results [i] 
.Transcript; } Autre { transcription.textContent + = Événement.results [I]
.Transcript; } } };

12. Erreurs de Manutension

Comme ACE à La Plupart des API JavaScript, Il Y a erreur qui vous est perméable permétra de décorateur Qui-de-Permettra Permettra Permettra Permetmes Permèmes Qui Persere Survenir. Celles-CI Sont Jetes Dans le «Journal» En Div, pour Donner des Commentaires à l'Utilisateur, Voiture Il est Essentiel Qu'ils Soient Au Courant de CE Qui pourra SE Passer Avec l'interface.

 Reconnaître.onerror = Fonction (Événement) {
log.innerhtml = 'Erreur de reconnaissance:' +
Événement.message + '& lt; Br / & gt; ' + log.innerhtml;
}; 

13. Commencer à Parler!

L'AUDITEUR D'ÉVÉNEMENTS ICI EST Démarré LORSQUE L'UTILISATEUR CLIQUE SUR LE BOUTON POUR COMMENCER À PARLER. SI L'UTILISATEUR NE PARLE PAS, LE BOUTON CHANGE DE COULEUR POUR L'INDIQUER LA PAROLE A Démarré, LA VARIABLE DE LA PARLE EST Définie sur Vrai et Le Bouton Radio «Interim» Est Vérifié pour Voir S'il Utilisateur pour l'entrée.

 start.addeventlistener ("cliquer", Fonction () {
Si (! Parler) {
parler = vrai;
start.classlist.toggle ('Stop');
Reconnaissant.interimresults = document.
QuerySelector ('Entrée [NOM = "Reconnaît
sur Type "] [Valeur =" Intermédiaire "] '). Vérifié; 

14. Prenez L'Entrée

La Déclaration "Essayer et attraper" Commence maintenante La Reconnaissance Vocale et Indique à l'Utilisateur Qu'ils Devres Commencer à Parler et que Lorsque Sont Terminés, "Cliquez à Nouveau pour Arrêter". Les Captures Récupérleront L'Erreur et Jettent Cela Dans Le "Journal" Div Afin Que L'Utilisateur PUISSE COMPRENDRE CE QUI POURRAIT ÊTRE FAUx.

 Essayez {
reconnaissant.start ();
log.innerhtml = 'Commencer à PARLER maintenante
& lt; br / & gt; Cliquez pour Arrêter ';
} Catch (ex) {
log.innerhtml = 'Erreur de reconnaissance:
& lt; br / & gt; + ex.message;
} 

15. Cliquez pour Arrêter

Maintenant, Lorsque L'Utilisateur CLIQUE SUR POUR ARRÊTER DE PARLER, LA DÉCONNAISSANCE Vocale Est Arrêtée. Le Bouton Est Ramené au Vert du Rouge en langue. L'interface Utilisateur Est Mise à jour Vers à l'Utilisateur SOIT INFORMÉ QUE LE SERVICE L'Arrêté. La variable de liberté parole est Définie sur false, Prête à Laure L'Utilisateur Perler à Nouveau.

} else {
reconnaissant.stop ();
start.classlist.toggle ('Stop');
log.innerhtml = 'reconnaissance arrêtée
& lt; br / & gt; Cliquez pour Parler ';
parler = faux;
}
}); 

16. effacer le texte

Build a voice controlled UI: Clear the text

LE BOUTON CLAIR SUPPRIME UNESCOURS À TEMPORT INTERPÉTÉ [Image: Web Designer]

LE CODE FINALE DE CETTE SECTION EST JUSTE UN BOUTON CLAIR POUR SUPPRIMER LE TELET D'ENTRÉE DE LA PAROLE AU CAS Où IL EST INTERPETÉ À TEMME. Enregistrez le Fichier et Testez Ceci dans le Navigureur. VOUS PLIQUER SUR LE BOUTON POUR LE BOUTON À L'ORDINATEUR ET VOIR LES RÉSOLTATATATATATS.

 Clear.addeventlistener ("Cliquez Sur", Fonction () {Transcription.TextContent = '';
});
} 

17. AJOUTER DES Objectifs

Maintenant, commet-vous Avez Un exemple de travail, IL FAUT QUE l'interface Ait ONU Objectif, Alors Faits Cela Afin Que les Utilisateurs Puissent Saisir des critiques. Enregistrez la page, Puis Choisisezeez Enregistreur SOUS, AVEC Le Nouveau Nom de 'avis.html'. AJOUTEZ LES ÉLEMENTS HTML SUIVANT JUSTE APRÈS LE & LT; Div id = "wrapper" & gt; Ligne.

 & lt; H1 & GT; AVIS DE PRODUITS & LT; / H1 & gt;
& lt; Div ID = "AVIS" & GT; & lt; / div & gt; 

18. SOUMISSION TOTALE

Build a voice controlled UI: Total submission

Le Bouton Soumettre Soumet La Parole en Entrée [Image: Web Designer]

LE CODE PRÉCÉDENT TIENDRA LES CRITIQUES. L'Utilisateur Devra Soumettre Leur Entrée de libération conditionnelle, ALORS AJOUTEZ LE BOUTON D'ENVOI JUSTE APRÈS LE BOUTON "Texte clair", Qui Sera Autour de la Ligne 28 de VOCT Code. Ensuite, VOUS POUVEZ DESCENDRE VERS LE JavaScript pour la Prochaine Étape.

 & lt; Bouton id = "Soumettre" Classe = "Bouton" & GT; Soumettre Review & lt; / Bouton & gt; 

19. Nouveaux Éléments d'interface

En Haut de Vélecteur JavaScript, Ajoutez les Nouvelles Variables Pour Contenir Les Références aux Nouveaux Éléments d'interface Qui Viennent d'estre Ajustés. Celles-CI VOUS VOUS FOURNIRONT UN MOYEN DE SOUMETTRE ET D'AFFICHER LES RÉSOLTATATS À L'ÉCRAN DANS LA SECTION "AVIS" DE LA PAGE.

 var soumettre = document.getElementyID ('Soumettre');
var revoir = document.getelementyid ("avis"); 

20. Soumettre L'Entrée

Maintenant, LE CODE ICI TRAITERA LORSQUE L'UTILISATEUR CLIQUE SUR LE BOUTON SOUPEMENTTRE, FIERZ-LE SIMPLEMENT AVANT LE CODE DE BOUTON «EFFACER», QUI DevRAIT ATOUR DE LA LIGNE 88 DANS VOCT CODE. Première, UNE BALISE DE PARAGRAPE EST CREÉE ET L'ENTRÉE DE LA PARLE EST ASUITE AJOUTEE À CELA. CELA SERA ASUITE AJOUTE À LA SECTION "Examen".

 Soumettre.addeventListener ('Cliquez sur «Fonction () {
lanceez p = document.createelement ('P');
var textnode = document.createtextNode
(transcription.value);
p.appendchild (TextNode);
revoir.appendcendChild (p);
Lâtre Aujourd'Hui = Nouvelle date ();
SOIT S = DOCUMENTER.CREATEELÈTEMENT ("Petit"); 

21. Finale Soumission

Build a voice controlled UI: Final submission

SI VOUS SOUHAITEZ COMPTEUR UNE DISCOURS SOUMIS, VOUS DEVREZ UTILISER UNE BASE DE DONNées [Image: Web Designer]

LA DATE EST AJOUTEE DE MANIÈRE À CE L'EXAMEN SOIT HORODATÉ DANS LE DOCUMENT. Enfin, UNE RÈGE Horizontale Est AJOUTEE Versez Montre Où Chaque Examen SE Termine, Puis Le Texte est Effacé Prêt Pour une nouvelle entrée. Enregistrez la page et Testez Ceci. VOUS VERREZ QUE VOUS VOUS POUVEZ MANTANT SOUORTRE DE VOCTRE DISCOURS DANS LA PAGE Comme Évaluations. Pour la persistance, VOUS AURIEZ BESOIN D'UTILISER UNE BASE DE DONNées pour le stocker CES Résultats.

 Textnode = document.createtextNounode (Aujourd'hui);
S.AppendChild (TextNode);
review.AppendChild (s);
SOIT HR = DOCUMENT.CRATEELENT ('HR');
revoir.appendcendChild (h);
transcription.textContent = '';
}); 

Article CET A Été Publié à L'Origine Dans Le Numéro 286 de Creative Web Design Magazine Concepteur web . Achetez le Numéro 286 ICI or Abonnez-vous à la concepteur Web ICI .

Articles Liènes:

  • 14 des Meurillons API JavaScript
  • Construire un chatbot à MOTEUR AI
  • 5 Tendances UX ÉMERGENTES EN 2019

Comment - Most Popular Articles

44 des meilleurs raccourcis et gestes iPad pour iPados 2020

Comment Jan 28, 2026

[DIX] [DIX] [DIX] [dix] (Crédit d'image: futur) [DIX] Sauter à: ..


Diapositives Google: Comment concevoir un document

Comment Jan 28, 2026

[DIX] [DIX] [DIX] [dix] (Crédit d'image: Google) [DIX] Les diapositives Google Devi..


Comment dessiner une personne

Comment Jan 28, 2026

[DIX] Quel Genre d'Artiste Vous Esetes, Comprendre le commentaire Dessiner une personnage est une compétition Fondamentale. Maîtrisez La Forme Humaine, Et..


Créer des effets de collage dans le navigateur avec CSS

Comment Jan 28, 2026

[dix] [dix] [dix] [dix] Si vous avez déjà souhaité, vous pouviez reproduire les effets d'un tradit..


Comment peindre un zombie coloré

Comment Jan 28, 2026

[dix] [dix] [dix] [dix] J'ai toujours aimé le morts-vivants et on va souvent enraciner pour l'underd..


Comment dessiner des réflexions métalliques

Comment Jan 28, 2026

[dix] [dix] [dix] [dix] Lorsque la lumière frappe un objet métallique, il peut réfléchir sur n'im..


Comment obtenir plus de gifs

Comment Jan 28, 2026

[dix] Les gifs travaillent dans des cycles transparents, qui Rebecca Mock décrit comme "la boucle parfaite". Cette boucle devra..


Modélisation de la géométrie complexe: 5 Tops Tops

Comment Jan 28, 2026

[dix] [dix] [dix] [dix] Tout au long de mes années d'expérience, travailler dans les environnements..


Catégories