web-dev-qa-db-fra.com

Pourquoi font-awesome recommande-t-il d'utiliser des éléments <i> au lieu d'éléments <span>? Est-ce préférable pour une raison concrète?

Si vous passez en revue les exemples pour font-awesome , vous verrez qu'ils utilisent systématiquement l'élément i. J'aurais pensé que l'élément span serait un choix plus approprié, car l'élément i était destiné à modifier une "étendue de texte". " , mais ce que je veux faire, c'est placer un glyphe sur la page, pas modifier le texte existant.

Vous pourriez faire l'hypothèse que l'élément span était également destiné à modifier une étendue de texte (d'où le nom), mais la définition du W3C le laisse grand ouvert - indiquant simplement que span " peut être utile lorsqu'il est utilisé avec d'autres attributs. "

Cependant, ma question n'est pas centrée sur la sémantique des deux balises, mais sur les implications de l'expérience utilisateur d'une balise sur l'autre. Dans mes tests, le span fonctionne aussi bien que i. Y a-t-il des raisons concrètes pour lesquelles l'une est préférable à l'autre? Voici des exemples de raisons concrètes:

  1. Un élément est géré de manière raisonnable par un logiciel d'accessibilité (par exemple, des lecteurs d'écran), et l'autre non.
  2. Prise en charge des agents utilisateurs (par exemple, un élément se comporte de manière cohérente entre les agents utilisateurs, l'autre pas).
42
Josh

Je n'ai jamais connu de différence d'expérience utilisateur entre l'élément i ou une étendue avec un style css qui met le texte en italique. La raison pour laquelle vous voudrez peut-être préférer l'élément span est simplement sémantique (séparation du contenu et du style).

13
Blue Box