Tous les balises HTML ressemblent à XML. C'est parce que XML et HTML sont étroitement liés à SGML. XML est juste un langage de balisage plus généralisé et "extensible" que HTML. Et je dirais à peine que XML n'est pas "largement utilisé", étant donné que XHTML, RSS, ATOM, RDF, EPUB, XMPP, microformats, ODF, SOAP, etc. sont tous basés sur XML. Il est beaucoup plus populaire en général que les fichiers YAML, JSON ou INI —, qui ne sont en aucun cas des langages de balisage de documents.
Ainsi, le fait que les balises HTML ressemblent à XML est une raison vraiment idiote d'éviter d'utiliser une balise particulière ou un ensemble de balises. Markup devrait être choisi en fonction de la structure sémantique de votre contenu, pas la popularité de XML dans l'application complètement indépendante de la sérialisation des données.Vous utilisez DL
lorsque vous devez représenter une liste de définition . Autrement dit, chaque fois que vous avez quelque chose de la structure sémantique:
term: definition
term: definition
term: definition
...
à proprement parler, les listes de définition devrait être utilisée que pour définir les termes comme dans un glossaire. Mais en pratique, il est utilisé pour beaucoup plus que cela. Parce que HTML ne fournit pas de balises pour spécifier d'autres types de relations de paires, DL
est utilisé comme un fourre-tout dans cette zone. Outre les termes de définition, DL
est également utilisé pour la boîte de dialogue: l'élément DT
contient le nom de l'orateur et DD
la ligne parlée.
Une forme peut également être représentée sous la forme d'une liste de définition, mais l'utilisation de la balise LABEL
est plus correcte que l'OMI sémantiquement correct.
J'utilise habituellement DL
quand je dois énumérer un ensemble d'attributs et de leurs valeurs, par exemple .:
File Name: Chloroform Girl.avi
File Size: 320 MiB
File Type: Video
Votre cas d'utilisation est parfaite pour une table, pas une liste définition/description. – Alohci
@Alohci: pas vraiment. Ce serait purement une table pour la disposition, et d'ailleurs, nuira à la maintenance. Par exemple, vous devez afficher une icône sur le côté gauche, un nom au milieu, une taille * ci-dessous * le nom, et un bouton sur la droite? Maintenant, les exigences changent, et le bouton doit être affiché ci-dessous. Avec une table, vous devrez changer le HTML, même si le changement d'exigence est purement sur la mise en page. –
Vous justifiez le choix de l'élément sémantique en fonction des exigences de présentation. Sémantiquement, il s'agit clairement d'une table - vous avez des colonnes (icône, nom, taille, lien de téléchargement) et des lignes (la liste des fichiers). Les s sont faciles à identifier et une légende ou un résumé décrivant ce que la table fait pour l'utilisateur est clair. Maintenant, je suis d'accord que restyler une table dans CSS seul est extrêmement difficile. C'est essentiellement un échec de CSS, et pas une justification pour le choix incorrect de l'élément sémantique. – Alohci