Note : les attributs name de la 3e ligne sont incorrects (mauvais copier
coller mais c'était pour l'exemple).

Romain

Le 2 novembre 2015 13:33, Romain Gervois <[email protected]> a écrit
:

> Bonjour,
>
> Tu peux rester sur la solution tableau pour la mise en page. Par contre,
> plusieurs attentions à avoir sur le tableau :
> - ajouter un rôle presentation sur l'élément table ;
> - ne pas avoir d'élément caption ;
> - ne pas avoir de résumé ;
> - ne pas avoir d'en-têtes et les liaisons qui vont avec.
>
> Pour les étiquettes, tu peux identifier chaque pseudo en-tête de ligne /
> colonne et utiliser ces identifiants dans des aria-labelledby pour faire
> les liaisons adéquates.
>
> Enfin, pour les "redondances" de restitution, tu peux appliquer un
> aria-hidden="true" sur l'élément tr contenant les pseudo en-têtes de
> colonnes et sur chaque élément td correspondant à un en-tête de ligne.
>
> Ce qui donne en code :
>
>         <table role="presentation">
>             <tr aria-hidden="true">
>                 <td></td>
>                 <td id="niveau1">Bon</td>
>                 <td id="niveau2">Moyen</td>
>                 <td id="niveau3">Mauvais</td>
>             </tr>
>             <tr>
>                 <td aria-hidden="true" id="matiere1">Matière 1</td>
>                 <td><input type="radio" aria-labelledby="matiere1 niveau1"
> name="evaluation1" /></td>
>                 <td><input type="radio" aria-labelledby="matiere1 niveau2"
> name="evaluation1" /></td>
>                 <td><input type="radio" aria-labelledby="matiere1 niveau3"
> name="evaluation1" /></td>
>             </tr>
>             <tr>
>                 <td aria-hidden="true" id="matiere2">Matière 2</td>
>                 <td><input type="radio" aria-labelledby="matiere2 niveau1"
> name="evaluation2" /></td>
>                 <td><input type="radio" aria-labelledby="matiere2 niveau2"
> name="evaluation2" /></td>
>                 <td><input type="radio" aria-labelledby="matiere2 niveau3"
> name="evaluation2" /></td>
>             </tr>
>             <tr>
>                 <td aria-hidden="true" id="matiere3">Matière 3</td>
>                 <td><input type="radio" aria-labelledby="matiere3 niveau1"
> name="evaluation2" /></td>
>                 <td><input type="radio" aria-labelledby="matiere3 niveau2"
> name="evaluation2" /></td>
>                 <td><input type="radio" aria-labelledby="matiere3 niveau3"
> name="evaluation2" /></td>
>             </tr>
>         </table>
>
> Testé avec succès sous VoiceOver OS X + Safari. Cela nécessite de faire
> des tests avec d'autres combinaisons.
>
> Romain
>
> Le 2 novembre 2015 12:55, Olivier Nourry <[email protected]> a écrit :
>
>> Bonjour Giuseppe,
>>
>> L'inconvénient de ta solution 2 (fieldset dans une table) est qu'on ne
>> peut pas "croiser" de la sorte fieldset et table, ça casse le code HTML. Ou
>> alors il faut faire une table à l'intérieur de chaque fieldset, et une
>> table à 1 colonne comme wrapper. Bof bof.
>> Perso j'aurais fait une suite de fieldset, un par matière, avec des label
>> à chaque bouton.
>> Pour obtenir la représentation visuelle que tu décris, j'aurais ensuite
>> mis ça en lignes, caché les label (mais est-ce nécessaire?), et aligné avec
>> des propriétés display de la famille table-* ou équivalent.
>> Les textes dans la 1ère ligne, rappelant la fonction des boutons, ne sont
>> alors utiles que pour la représentation visuelle, pas besoin de les relier
>> aux boutons.
>> De cette manière, en lecture non visuelle, c'est accessible (avec un peu
>> d'infos en trop, celles de la première ligne); et en visuel, on a les
>> informations et l'alignement nécessaires pour comprendre la fonction de
>> chaque bouton radio.
>>
>> J'espère t'avoir été utile
>>  J'espère t'avoir été utili
>> [image: --]
>> Olivier Nourry
>> [image: http://]about.me/oliviernourry
>> <http://about.me/oliviernourry>
>>
>>
>> Le 2 novembre 2015 11:08, ROSA Giuseppe (93) <
>> [email protected]> a écrit :
>>
>>> Bonjour la liste,
>>>
>>> Je voulais connaître votre avis sur la meilleur manière d'implémenter un
>>> formulaire présenter dans un tableau (plusieurs "clients" semblent impacter
>>> chez nous par ce type de présentation).
>>>
>>> Je pense qu'il s'agit d'un cas déjà rencontré, puisque des outils de
>>> génération de questionnaire en ligne doivent générer des cas similiaires.
>>>
>>> Dans le dernier cas qu'il m'a été soumis, il s'agit d'une sorte de
>>> formulaire de notation (pour faire simple) :
>>>
>>>    - Sur la première ligne les intitulés des notes
>>>    - Sur les lignes suivantes :
>>>       - première cellule : l'intitulé de la matière
>>>       - cellules suivantes : bouton radio (symbolisé ci-dessous par ©)
>>>
>>>
>>>  Bon
>>> Moyen
>>> Mauvais
>>> Matière 1
>>> ©
>>> © © Matière 2
>>> © © © Matière 3
>>> © © ©
>>> Le problème est doit-on (ou est-il préférable) traiter ce tableau en
>>> tant que tableau de données, et dans ce cas les cellules de la première
>>> ligne et de la première colonne seraient les cellules d'en-tête.
>>> Par contre, les contenus de ces en-têtes peuvent-ils être considérés
>>> comme les étiquettes des cases boutons radio (cas prévus pour rendre
>>> explicite des liens mais je n'ai pas l'impression que cela soit le cas pour
>>> des boutons radio, cases à cocher voire champ de saisie de formulaire). Si
>>> je rajoute des labels (aria-label ou autre), j'ai un redondance
>>> d'information (intitulé de la cellule d'en-tête + étiquette du bouton).
>>>
>>> Une autre solution serait de traiter cela comme un tableau de
>>> présentation, avec un label (aria-label ou aria-labelledby par exemple) sur
>>> chaque bouton, avec un aria-hidden sur la 1ère ligne. Par contre, je ne
>>> sais pas si on peut regrouper chaque ligne pour simuler le cas d'un
>>> fieldset/legend afin d'éviter de répéter à chaque bouton le nom de la
>>> matière et ainsi fonctionner comme avec une succession de groupement tel
>>> que celui-ci :
>>> <fieldset>
>>>     <legend>Matière 1</legend>
>>>     <input aria-label="Bon" type="radio" value="Bon" name="M1">
>>>     ...
>>> </fieldset>
>>>
>>> Si vous avez des suggestions du meilleur traitement d'un cas tel que
>>> celui-ci je suis preneur.
>>>
>>> Avec tous mes remerciements pour cette lecture.
>>>
>>> Cordialement,
>>> ------------------------------
>>> DGFiP Giuseppe ROSA
>>> Inspecteur Analyste
>>> Atelier SODA - bureau SI-1A
>>> Site SODA : http://si1a.intranet.dgfip/soda tel : 01.573.36.997
>>> pièce : 2388
>>>
>>>
>>>
>>> *Adoptez l'éco-attitude.*
>>> N'imprimez ce mail que si c'est vraiment nécessaire
>>>
>>>
>>> _______________________________________________
>>> liste_gta mailing list
>>> [email protected]
>>> http://list.accessiweb.org/mailman/listinfo/liste_gta_list.accessiweb.org
>>>
>>>
>>
>> _______________________________________________
>> liste_gta mailing list
>> [email protected]
>> http://list.accessiweb.org/mailman/listinfo/liste_gta_list.accessiweb.org
>>
>>
>
_______________________________________________
liste_gta mailing list
[email protected]
http://list.accessiweb.org/mailman/listinfo/liste_gta_list.accessiweb.org

Répondre à