abbr-design-pattern-fr: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
m (syn'd)
m (Replace <entry-title> with {{DISPLAYTITLE:}})
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Abbr design pattern =
{{DISPLAYTITLE:Abbr design pattern}}


== Objectif ==
== Objectif ==
* Utiliser le [[abbr-design-pattern-fr|abbr-design-pattern]] pour faire que le texte qui soit lisible par un humain soit aussi lisible formellement par une machine
* Utiliser le [[abbr-design-pattern-fr|abbr-design-pattern]] pour faire que le texte qui soit lisible par un humain soit aussi lisible formellement par une machine
* Eviter d'utiliser [[abbr-design-pattern-fr|abbr-design-pattern]] pour réencoder le texte humain ou pour cacher les données
* Eviter d'utiliser [[abbr-design-pattern-fr|abbr-design-pattern]] pour ré-encoder le texte humain ou pour cacher les données


== Comment l'utiliser ? ==
== Comment l'utiliser ? ==
* enclore le texte convivial-pour-les-humains que vous voulez pour faire qu'il soit lisible par les machines avec <code>&lt;abbr></code>  
* entourer le texte convivial-pour-les-humains que vous voulez pour faire qu'il soit lisible par les machines avec <code>&lt;abbr></code>  
* comme pour le [[class-design-pattern-fr|class-design-pattern]], ajoutez l'attribut approprié <code>class</code> à l'élément <code>abbr</code>
* comme pour le [[class-design-pattern-fr|class-design-pattern]], ajoutez l'attribut approprié <code>class</code> à l'élément <code>abbr</code>
* ajoutez un attribut <code>title</code> à l'élément <code>abbr</code> avec les données lisibles par les machines comme la valeur.
* ajoutez un attribut <code>title</code> à l'élément <code>abbr</code> avec les données lisibles par les machines comme la valeur.


== Exemple ==
== Exemple ==
Le [[datetime-design-pattern-fr|datetime-design-pattern]] encode formellement les 'datetimes' (bien connus pour être non parsables) à l'intérieur d'un élément <code>abbr</code>.
Le [[datetime-design-pattern-fr|datetime-design-pattern]] encode formellement les 'dates-horaires' (bien connus pour être non parsables) à l'intérieur d'un élément <code>abbr</code>.


avant :
avant :
Line 28: Line 28:


==Présentations alternatives==
==Présentations alternatives==
Remarquez que les suivants sont tous équivalents pour un parseur de microformat :  
Remarquez que les prrésentations suivantes sont toutes équivalentes pour un parseur de microformat :  


<pre>
<pre>
Line 35: Line 35:
<span class="dtstart">2007-05-01</span>
<span class="dtstart">2007-05-01</span>


<abbr class="dtstart" title="20070501">1 May 2007</abbr>
<abbr class="dtstart" title="20070501">1 mai 2007</abbr>


<abbr class="dtstart" title="2007-05-01">1 May 2007</abbr>
<abbr class="dtstart" title="2007-05-01">1° mai 2007</abbr>


<abbr class="dtstart" title="20070501">1st May 2007</abbr>.
<abbr class="dtstart" title="20070501">1er mai 2007</abbr>.


<abbr class="dtstart" title="20070501">May 1st 2007</abbr>.
<abbr class="dtstart" title="20070501">May 1st 2007</abbr>.
Line 47: Line 47:
<abbr class="dtstart" title="20070501">2007-05-01</abbr>.
<abbr class="dtstart" title="20070501">2007-05-01</abbr>.


<abbr class="dtstart" title="20070501">Tuesday, 1 May 2007</abbr>
<abbr class="dtstart" title="20070501">Mardi 1° mai 2007</abbr>


<abbr class="dtstart" title="20070501">2007, day 121</abbr>
<abbr class="dtstart" title="20070501">2007, jour 121</abbr>


<abbr class="dtstart" title="20070501">May Day, 2007</abbr>
<abbr class="dtstart" title="20070501">May Day, 2007</abbr>
Line 91: Line 91:
* Théoriquement, ceci pourrait être produit avec presque n'importe quel élément HTML. Mais est-ce une bonne idée ? Si ce n'en est pas une, est-ce que abbr est la seule ? [[DavidJanes]]
* Théoriquement, ceci pourrait être produit avec presque n'importe quel élément HTML. Mais est-ce une bonne idée ? Si ce n'en est pas une, est-ce que abbr est la seule ? [[DavidJanes]]
* abbr-design-pattern devrait être évité si possible. [[User:RobertBachmann|RobertBachmann]]
* abbr-design-pattern devrait être évité si possible. [[User:RobertBachmann|RobertBachmann]]
** pourquoi, ou sous quelles circonstances ? Par exemple, il est tout à fait utile avec les datetimes. Devrait-il y avoir là d'autres situations potenitellement analogues ? [[DavidJanes]]
** pourquoi, ou sous quelles circonstances ? Par exemple, il est tout à fait utile avec les dates-heures. Devrait-il y avoir là d'autres situations potentiellement analogues ? [[DavidJanes]]
** Dans des circonstances où le texte dans le titre serait gobbledegook si lu par un lecteur écran. JAWS et d'autres screenreaders utilisent les attributs title provenant de abbr, quand utilisés proprement (comme dans cet exemple provenant du groupe WCAG), pour prononcer les mots qui seraient autrement illisibles ou déroutants. Utilier des données machines tels que datetime pour un titre est une torsion à la définition du dictionnaire de l'abréviation (contraction par omission ou initialisaiton, appliquée au mot et non à un niveau sémantique), ceci n'est peut-être pas un gros problème en soi, mais si les les screen readers sont incapables de transformer le contenu du titre en quelque chose de compréhensible, ceci amènera à des échecs en accessibilité.
** Dans des circonstances où le texte dans le titre serait gobbledegook si lu par un lecteur écran. JAWS et d'autres screenreaders utilisent les attributs title provenant de abbr, quand utilisés proprement (comme dans cet exemple provenant du groupe WCAG), pour prononcer les mots qui seraient autrement illisibles ou déroutants. Utiliser des données machines tels que datetime pour un titre est une torsion à la définition du dictionnaire de l'abréviation (contraction par omission ou initialisation, appliquée au mot et non à un niveau sémantique), ceci n'est peut-être pas un gros problème en soi, mais si les lecteurs d'écran sont incapables de transformer le contenu du titre en quelque chose de compréhensible, ceci amènera à des échecs en accessibilité.


<pre>
<pre>
Line 101: Line 101:
==Problématiques d'accessibilité==
==Problématiques d'accessibilité==


Ironiquement ce pattern bien que lisible machine pour les navigateurs compatibles avec les microformats n'est pas accessible pour les screenreaders quand il fait référence à une date. par conséquent :
Ironiquement ce pattern bien que lisible machine pour les navigateurs compatibles avec les microformats n'est pas accessible pour les lecteurs d'écran quand il fait référence à une date. par conséquent :


<pre>
<pre>

Latest revision as of 16:20, 18 July 2020


Objectif

  • Utiliser le abbr-design-pattern pour faire que le texte qui soit lisible par un humain soit aussi lisible formellement par une machine
  • Eviter d'utiliser abbr-design-pattern pour ré-encoder le texte humain ou pour cacher les données

Comment l'utiliser ?

  • entourer le texte convivial-pour-les-humains que vous voulez pour faire qu'il soit lisible par les machines avec <abbr>
  • comme pour le class-design-pattern, ajoutez l'attribut approprié class à l'élément abbr
  • ajoutez un attribut title à l'élément abbr avec les données lisibles par les machines comme la valeur.

Exemple

Le datetime-design-pattern encode formellement les 'dates-horaires' (bien connus pour être non parsables) à l'intérieur d'un élément abbr.

avant :

La fête aura lieu le 10 à 10 heures.

Après :

La fête aura lieu le 
<abbr class="dtstart" title="20051010T10:10:10-0100">10 à 10 heures</abbr>.


Présentations alternatives

Remarquez que les prrésentations suivantes sont toutes équivalentes pour un parseur de microformat :

<span class="dtstart">20070501</span>

<span class="dtstart">2007-05-01</span>

<abbr class="dtstart" title="20070501">1 mai 2007</abbr>

<abbr class="dtstart" title="2007-05-01">1° mai 2007</abbr>

<abbr class="dtstart" title="20070501">1er mai 2007</abbr>.

<abbr class="dtstart" title="20070501">May 1st 2007</abbr>.

<abbr class="dtstart" title="20070501">The first of May, 2007</abbr>.

<abbr class="dtstart" title="20070501">2007-05-01</abbr>.

<abbr class="dtstart" title="20070501">Mardi 1° mai 2007</abbr>

<abbr class="dtstart" title="20070501">2007, jour 121</abbr>

<abbr class="dtstart" title="20070501">May Day, 2007</abbr>

<abbr class="dtstart" title="20070501" lang="FR">1er mai, 2007</abbr>

<abbr class="dtstart" title="20070501" lang="ES">1 de mayo, 2007</abbr>

et ce qui suit peut être utilisé, disons, dans une liste, un tableau ou une page, titrée "2007" :

<abbr class="dtstart" title="20070501">1 May</abbr>


Discussion

Cette discussion est rejetée d'ici. Imaginez deux usages possibles pour le abbr-design-pattern :

  1. utiliser ABBR pour encoder les données lisibles par les machines autour de données lisibles par des humains
    <abbr class="dtstart" title="20051010T10:10:10-0100">le 10 à 10 heures</abbr>
    
  2. Utiliser ABBR pour encoder des données humaines plus formelles autour de quelque chose de moins formel
    <abbr class="author" title="Danny Ayers">Danny</abbr> 
    

L'utilisation #1 est encouragée s'il y a un véritable besoin pour cela. L'utilisation de #2 n'est pas recommandée sous le principe Don't Repeat Yourself, parce que : "#2 est un cas de *plus* d'information étant invisiblement présente, nommément, le nom de famille dans ce cas. Si quelqu'un ne veut pas rendre quelque information visible, alors nous ne devrions pas l'encourager à stocker cette information de façon invisible, pour toutes les mêmes raisons que les méta-données invisibles sont en premier lieu mauvaises/futiles".

J'aimerais effacer ça en-dessous, car les points sont couverts au-dessus

  • Théoriquement, ceci pourrait être produit avec presque n'importe quel élément HTML. Mais est-ce une bonne idée ? Si ce n'en est pas une, est-ce que abbr est la seule ? DavidJanes
  • abbr-design-pattern devrait être évité si possible. RobertBachmann
    • pourquoi, ou sous quelles circonstances ? Par exemple, il est tout à fait utile avec les dates-heures. Devrait-il y avoir là d'autres situations potentiellement analogues ? DavidJanes
    • Dans des circonstances où le texte dans le titre serait gobbledegook si lu par un lecteur écran. JAWS et d'autres screenreaders utilisent les attributs title provenant de abbr, quand utilisés proprement (comme dans cet exemple provenant du groupe WCAG), pour prononcer les mots qui seraient autrement illisibles ou déroutants. Utiliser des données machines tels que datetime pour un titre est une torsion à la définition du dictionnaire de l'abréviation (contraction par omission ou initialisation, appliquée au mot et non à un niveau sémantique), ceci n'est peut-être pas un gros problème en soi, mais si les lecteurs d'écran sont incapables de transformer le contenu du titre en quelque chose de compréhensible, ceci amènera à des échecs en accessibilité.
<p>Sugar is commonly sold in 5 <abbr title="pound">lb.<abbr> bags.</p>
<p>Welcome to the <abbr title="World Wide Web">WWW</abbr>!</p>

Problématiques d'accessibilité

Ironiquement ce pattern bien que lisible machine pour les navigateurs compatibles avec les microformats n'est pas accessible pour les lecteurs d'écran quand il fait référence à une date. par conséquent :

we have a party in 
<abbr class="dtstart" title="20070312T1700-06">
 March 12, 2007 at 5 PM
</abbr>

serait lu par Jaws comme

we have a party at Twenty million seventy-thousand three-hundred twelve tee seventeen-hundred dash zero six. 

la task force accessibility de webstandards.org recommande :

<span class="dtstart" title="20070312T1700-06">
 March 12, 2007 at 5 PM, Central Standard Time
</span>

ou

<span class="dtstart">
 March 12, 2007 at 5 PM, Central Standard Time
 <span class="value" title="20070312T1700-06"></span>
</span>

voir plus sur abbr-design-pattern-problématiques et [1]


Voir aussi