les images utilisées dans cette présentation sont extraites des films « alice au pays des...

41
Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l ’odysée de l’espace » de Stanley Kubric

Upload: marceline-grenier

Post on 03-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l ’odysée de l’espace » de Stanley Kubric

Page 2: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

Une (très) brèveHistoire du

Web Dynamique

Page 3: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

Images

Liens Formulaires

MultimédiaTextes

Des Contenus Structurés Des effets dynamiques

Menu Déroulant

De la neige en hiver

Contrôle de formulaire

199919991995199519921992

HTML 1.0 Javascript HTML 4.01

HTML Javascript

20002000

XHTML

Page 4: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

XMLHttpRequest2002

Page 5: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

Images

Liens Formulaires

MultimédiaTextes

Des Contenus Structurés

19981998

MSXML

HTML Javascript

Ajax

NouveauxComposantsApplication

RIA

Du comportement

20022002

XmlHttpRequest

20052005

Ajax

20062006

ARIA

20142014

HTML5

Page 6: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

HTML ne permet pas de créer des composants

Le web fonctionne en mode client-serveur

Limités à

Le lien

Les éléments deformulaire

Une action

Un rechargementde page

Les limites du développement Web classique

Page 7: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

Créer des composantsen ajoutant du comportement

sur des éléments HTMLquelconques

Code Html du slider Rechargement

De page

Ajax

Gérer les requêtes client-serveur

via l’objet JavascriptXMLHttpRequest

La solution : utiliser Javascript pour :

<div><span>0%</span><div><a></a></div></div>

Page 8: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

Le Web Dynamiqueet l’utilisateur

Page 9: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

Technologie d’assistance

API Accessibilité Système

Navigateur Web

Comment un lecteur d’écran sait de quoi il parle ?

Zone de liste déroulante Choose one or more users avery 1 sur 4

Page 10: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

Pour HTML tout est défini dans les spécifications

Lien, c’est super

Titre de niveau 1, c’est super

Graphique, c’est super

Bouton, c’est super

<a href=‘’> C’est super </a>

<h1> C’est super </h1>

<img src=‘’ alt=‘C’est super’ />

<input type=‘submit’ value=‘C’est super’ />

Case à cocher, cochée,c’est super

Le lecteur d’écran dispose de toutes les informations renvoyées par le navigateur et les adapte comme il le souhaite :

Page 11: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

Avec JavascriptLes problématiques

utilisateurs

Page 12: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

Problème pour l’utilisateur

C’est quoi ce truc ?

Volume 0%<div><span>0%</span><div><a></a></div></div>

Heu …

Volume 0%<div><span>0%</span><div> <a></a></div></div>

Volume 48%

Ha! bon …

<div><span> 48% </span><div> <a></a></div></div>

Identifier – Utiliser - Comprendre

Page 13: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

Problème pour l’utilisateur

Cool…

Afficher les actualités

Vous êtes ici

Afficher les actualités

Ha! bon…

AJAXVous êtes toujours ici !

Page 14: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

Problème pour l’utilisateur

<div style="display: block;" class="jcarousel-next ></div>

Navigation Clavier HTML

Limitée à

Le lien

Les éléments deformulaire

L’élémentobject

<div style="display: block;" class="jcarousel-prev></div>

Navigation Clavier Javascript

Je peux Je peux pas

Page 15: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

Solution : ARIADéfinir les composantsDéfinir la structure

SliderNavigationMenuApplicationBanner

1 Informer de l’état et des propriétés d’un

composant

2

Volume 48%

valuenow:48%« 48%, 49%... »

Informer des misesà jour dynamiques

3

Live region

Rendre les composantsutilisables au

clavier

4

TabindexFlèche de direction

Page 16: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

Définit des attributs et des valeursrôle

(slider, menu, navigation, application…)

state, propertiescheked, valuenow, expanded, labeledby

Etend le rôle de tabindex

Tabindex=0

Tabindex=-1

focus

focus

Contenu

Javascript

Navigateur Aria

API ACC Système

Information

« 48%, 49%... »

Page 17: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

<h2 id="label_1">Foods</h2>

<ul id="tree1" class="tree" role="tree" aria-labelledby="label_1">

<li class="groupHeader" id="fruits" role="treeitem" tabindex="0" aria-expanded="true">

<ul role="group"> <li id="oranges" role="treeitem" tabindex="-1">Oranges</li>

<li class="groupHeader" id="apples" role="treeitem" tabindex="-1" aria-expanded="false">

Exemplesd’attributs ARIA

RôleLabelledbyExpandedTabindex

L’implémentation utilise de simples attributs HTML

Les valeurs dynamiques sont gérées depuis la couche Javascript

Les comportements (l’affichage d’un sous-niveau de liste, par exemple ) sont également gérésdepuis la couche Javascript

Page 18: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

ARIA par l’exemple

Page 19: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

1. Guider l’utilisateurLes landmarks

Page 20: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

Les landmarks, role= banner, main, search… Objectif : créer des points de repère et de navigation dans la structure de la page

banner : zone d’en-tête

navigation

zone de navigation

Main : la zone de contenu principal

contentinfo: zone d’information propre au document

search: zone de recherche

complementary

zone de contenu

complémentaire

form

zone de formulaire

applicationzone qui

contient une « application »

Le rôle application indique aux technologies d’assistance de modifier la gestion des évènements claviers, la navigation notamment, pour utiliser la configuration habituelle dans une application logicielle

!!

Page 21: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

banner

main

contentinfo

search

complementary

Exemple : Implémentation des landmarks chez Alsacréationsnavigation

Page 22: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

2. Les boites de dialogue

Page 23: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

Les boites de dialogue : role = alertdialog

InconvénientPas stylableN’accepte que du texte

AvantageC’est une vraie fenêtre modaleNe nécessite aucun traitement

Alerte Javascript

InconvénientCe n’est pas une vraie fenêtre modale

AvantagePersonnalisable à 100%

Alerte ARIA

Objectif : créer une boite d’alerte alternative aux méthodes alert, promprt, confirm de JS. Attention : il faut maîtriser les limites des boites de dialogues ARIA !

Page 24: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

3. Des composantscomplexes

User Friendly

Page 25: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

Le Slider clandestin

……

<div...><img …/></div>

Page 26: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

Le Slider qui parle

<div><span>0$</span><a href=‘#’ aria-valuenow="0" aria-valuetext="0 $" role="slider" aria-valuemin="0" aria-valuemax="100" title="price" style="left: 0%;"></a></div>

price Potentiomètre 0 $1 $2 $3 $4 $5 $6 $

Page 27: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

Exemple : une barre de progression, role=progressbar

<div role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0" aria-labelledby="progressMsg" aria-valuetext=‘’0 %"></div>

Le principe est identique à celui d’un slider et utilise les mêmes attributs et le même fonctionnement enchainé. Implicitement, le composant est déclaré en « readonly » de telle sorte que l’utilisateur ne puisse pas interagir avec lui.

NVDA propose deux restitutions :Vocale (annonce des valeurs)Par bip sonore

Par défaut, Jaws annonce la valeur atteinteà intervalles réguliers

Page 28: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

Exemple : messages avec labelledby et describedbylabelledby et describedby permettent de lier des contenus les uns aux autres.Ces deux attributs sont omniprésents dans les implémentations ARIA.L’une des utilisations est de produire des messages lors de l’utilisation d’un composant.

Commande de fruits groupage

Quantité 10 kilos

édition avec autocomplétion

Attention au délai :Plus de 30 kg : prévoir 10 jours….sélectionné 10

Id : uniteId : unite

<input id="commande" value="10" aria-labelledby="label commande unite" aria-describedby="disponible" type="text">

Id : commandeId : commande

Id : disponibleId : disponibleId : labelId : label

Page 29: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

4. Les Live Régions

Page 30: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

Les live region, la propriété aria-liveObjectif : informer des mises à jour dynamiques et gérer l’interaction entre la zone de mise à jour et les actions de l’utilisateur

Propriétés aria-live

aria-live=off Valeur par défaut, la zone n’est pas lue du tout.

aria-live=polite La zone est lue quand l’utilisateur a terminé son action.

aria-live=assertive La zone est lue en interrompant l’utilisateur dés que c’est possible.

aria-live=rude La zone est lue en interrompant l’utilisateur immédiatement.

Page 31: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

Les live region, les propriétés complémentairesObjectif : informer de l’état de la zone mise à jour, gérer le contenu de la zone mise à jour

Propriétés

atomic = true/false Toute la zone ou seulement la partie mise à jour est lue

relevant = additions /removalLes ajouts et les suppressions de contenus (dom) sont signalés

relevant=text/all Seuls les changements de texte ou tous les changements sont signalés

aria-busy=true/false Signale que la zone est en train d’être mise à jour

Page 32: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

Une live region avec aria-live polite

La zone mise à jour est lue

aria-live=‘’polite’’aria-live=‘’polite’’

L’utilisateur est occupé; la zone n’est plus lue

focus()focus()

Page 33: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

Live regions : un chat avec ajax et aria-live

<ul aria-atomic="false" aria-live="polite" id="chat-area"><li class="welcome"> Bienvenue</li><li><span>Invité </span>Bonjour tout le monde</li> </ul>

Lire uniquement le contenu mis à jour, c’est-à-dire le dernier texte inséré.

Lire la zone mise à jour quand l’utilisateur est disponible.Donc, quand il a terminé, son message notamment.

http://ideance.net/publications/live-regions/index.html

Page 34: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

Contrôle au clavier

Page 35: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

Contrôles au clavier, la problématique

Paradigme

Tout est utilisable avec la touche de tabulation

Pour certains éléments comme les listes de formulaires les flèches de direction servent à naviguer dans les éléments (item de liste)

HTML

Principes

La touche tabulation navigue d’un composant à l’autre

Des touches dédiées comme les flèches de direction, la touche escape, la barre d’espace apportent des fonctionnalités de contrôle

ARIA

C’est une problématique très difficile.

Il faut s’inspirer du fonctionnement de

applications!!

Page 36: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

Contrôles au clavier, la navigation

tabindex=0

tabindex=-1

flêches de direction

barre d’espace

touche escape

Permet à un élément quelconque de recevoir le focus de tabulation

Retire un élément du plan de tabulation

Naviguer dans les éléments d’un composant

Activer / désactiver

Désactiver /annuler une action

Touches dédiées

Page 37: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

Contrôles au clavier, exemples

Naviguer dans une fausse fenêtre modale

Gérer la navigation dans le système d’actualité de Yahoo

Naviguer dans un système d’onglets

Page 38: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

Problématiques utilisateurs

Les technologies d’assistance annoncent, pour certains rôle le type de navigation attendue.

Exemple avec slider et jaws : « utiliser les touches flèchés… ».

Comment être sur que c’est réellement le cas ?

Les utilisateurs qui ne peuvent pas utiliser de souris ne recoivent pas d’informations sur la navigation

Comment les informer ?

Conserver le paradigme de tabulation et ajouter des

navigations auxiliaires

Respecter impérativement les

Design Pattern préconisés par

ARIA!!

Page 39: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

Tester ARIA

Page 40: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

Problématiques utilisateursOutils d’inspection

d’évènement, attributs et propriétés

Les technologies d’assistance

JAWS / NVDA

Visioneuse de parole

Inspect 32 ICITA Toolbar

Juicy Toolbar

Sur des applications RIA complexes.

Tests Utilisateurs!!

Page 41: Les images utilisées dans cette présentation sont extraites des films « alice au pays des merveilles » de Tim Burton et « 2001 l odysée de lespace » de

Merci de votre attention

Les démos de l’atelier sont disponibles sur www.qelios.net/demo_aria