J'avais l'habitude d'avoir ce patron qui aimé, aimé, aimé, aimé pour souligner les mots. C'était bien avant que nous utilisions un éditeur WYSIWYG et je devais coder manuellement cette merde.
<p> I used to have this boss who <em>loved</em>, <strong>loved</strong>, <strong><em>loved</em></strong>, <strong><em><u>loved</u></em></strong> to emphasize words.
</p>
(N'entrons pas dans les couleurs qu'il a utilisées même MOAR accent.)
Écrire tout ce balisage ne s'est jamais senti bien. L'effort qu'il a fallu, bien sûr, peu importe. Mais est-ce même une bonne idée d'ajouter du contenu de surcharge avec le double ou plus ! - des accents ?
Différentes balises mettent l'accent différemment
Pour commencer, le <strong>
et les <em>
les balises sont conçues pour différentes utilisations. Nous les avons récupérés en HTML5, où :
Alors, <strong>
donne plus de poids au contenu dans le sens où il suggère que le contenu qu'il contient est important ou urgent. Pensez à un avertissement :
Mise en garde: Le contenu suivant a été signalé comme étant génial.
Il pourrait être tentant d'atteindre <em>
faire la même chose. Le texte en italique peut attirer l'attention après tout. Mais c'est vraiment un indice pour mettre davantage l'accent lors de la lecture du contenu. Par exemple, voici deux versions de la même phrase avec l'emphase à des endroits différents :
<p>I ate the <em>entire</em> plate of burritos.</p>
<p>I ate the entire <em>plate</em> of burritos.</p>
Les deux exemples mettent l'accent sur l'accent, mais sur des mots différents. Et ils sonneraient différemment si vous deviez les lire à haute voix. Qui fait <em>
une excellente façon d'exprimer le ton dans votre écriture. Il change le sens de la phrase d'une manière qui <strong>
ne fait pas.
Accent visuel vs accent sémantique
Ce sont deux choses que vous devez peser lorsque vous mettez l'accent sur le contenu. Par exemple, il existe de nombreux cas où vous devrez peut-être mettre du contenu en italique sans affecter le sens de la phrase. Mais ceux-ci peuvent être gérés avec d'autres balises qui rendent l'italique :
<i>
: C'est le classique ! Avant HTML5, cela était utilisé pour souligner l'accent avec des italiques partout. Maintenant, il est purement utilisé pour mettre en italique le contenu visuellement sans changer la signification sémantique.<cite>
: Indiquer la source d'un fait ou d'un chiffre. ("Source: Astuces CSS")<address>
: utilisé pour baliser les informations de contact, non seulement les adresses physiques, mais également les adresses e-mail et les numéros de téléphone. (
)
Ça va être la même chose avec <strong>
. Plutôt que de l'utiliser pour styliser le texte que vous voulez avoir l'air plus lourd, c'est une meilleure idée d'utiliser le classique <b>
balise pour la mise en gras afin d'éviter de donner une importance supplémentaire au contenu qui n'en a pas besoin. Et n'oubliez pas que certains éléments comme les titres sont déjà rendus en gras, grâce aux styles par défaut du navigateur. Il n'est pas nécessaire d'ajouter encore plus d'emphase.
Utilisation de l'italique dans le contenu mis en valeur (et vice versa)
Il existe des cas légitimes où vous devrez peut-être mettre en italique une partie d'une ligne déjà soulignée. Ou peut-être mettre l'accent sur un morceau de texte qui est déjà en italique.
Un blockquote pourrait être un bon exemple. J'ai vu de nombreuses fois où ils sont mis en italique pour le style, même si les styles de navigateur par défaut ne le font pas :
blockquote { font-style: italic;
}
Et si nous devions mentionner un titre de film dans cette citation ? Cela devrait être en italique. Il n'y a pas besoin d'insister sur le stress, donc un <i>
l'étiquette fera l'affaire. Mais c'est toujours bizarre de mettre quelque chose en italique alors qu'il est déjà rendu de cette façon :
<blockquote> This movie’s opening weekend performance offers some insight in to its box office momentum as it fights to justify its enormous budget. In its first weekend, <i>Avatar: The Way of Water</i> made $134 million in North America alone and $435 million globally.
</blockquote>
Dans une situation où nous mettons quelque chose en italique dans un contenu en italique comme celui-ci, nous sommes censés supprimer les italiques de l'élément imbriqué… <i>
dans ce cas.
blockquote i { font-style: normal;
}
Requêtes de style conteneur sera super utile pour attraper toutes ces instances si nous les obtenons :
blockquote { container-name: quote; font-style: italic;
} @container quote (font-style: italic) { em, i, cite, address { font-style: normal; }
}
Ce petit extrait évalue le blockquote pour voir s'il est font-style
est fixé à italic
. Si c'est le cas, il s'assurera que le <em>
, <i>
, <cite>
et une <address>
les éléments sont rendus comme du texte normal, tout en conservant la signification sémantique s'il y en a une.
Mais revenons à l'accent dans l'accent
je ne nidifierais pas <strong>
à l'intérieur <em>
comme ça:
<p>I ate the <em><strong>entire</strong></em> plate of burritos.</p>
…ou nid <em>
à l'intérieur <strong>
au lieu:
<p>I ate the <em><strong>entire</strong></em> plate of burritos.</p>
Le rendu est bien ! Et peu importe l'ordre dans lequel ils se trouvent… du moins dans les navigateurs modernes. Jennifer Kyrnin mentionne que certains navigateurs n'affichent que la balise la plus proche du texte, mais je n'ai rencontré cela nulle part dans mes tests limités. Mais quelque chose à surveiller!
La raison pour laquelle je n'imbriquerais pas une forme d'emphase dans une autre est qu'elle n'est tout simplement pas nécessaire. Il n'y a pas de règle de grammaire qui l'exige. Comme les points d'exclamation, une forme d'emphase suffit, et vous devez utiliser celle qui correspond à ce que vous recherchez, qu'elle soit visuelle, de poids ou d'emphase annoncée.
Et même si certains lecteurs d'écran sont capables d'annoncer un contenu accentué, ils ne liront pas le balisage avec une importance ou une emphase supplémentaire. Donc, pas d'avantages d'accessibilité supplémentaires non plus, pour autant que je sache.
Mais je veux vraiment toute l'emphase!
Si vous êtes dans une position où votre patron est comme le mien et veut TOUTES le l'accent, j'atteindrais la bonne balise HTML pour le type d'emphase, puis j'appliquerais le reste des styles avec un mélange de balises qui n'affectent pas la sémantique avec CSS pour aider à tenir compte de tout ce que les styles de navigateur ne géreront pas.
<style> /* If `em` contains `b` or `u` tags */ em:has(b, u) { color: #f8a100; }
</style> <p> I used to have this boss who <em>loved</em>, <strong>loved</strong>, <strong><em>loved</em></strong>, <strong><em><u>loved</u></em></strong> to emphasize words.
</p>
Je pourrais même le faire avec le <strong>
étiqueter aussi comme mesure défensive :
/* If `em` contains `b` or `u` tags */
em:has(b, u),
/* If `strong` contains `em` or `u` tags */
strong:has(i, u) { color: #f8a100;
}
Tant que nous jouons en défense, nous pouvons identifier les erreurs où les accents sont imbriqués dans les accents en les surlignant en rouge ou quelque chose :
/* Highlight semantic emphases within semantic emphases */
em:has(strong),
strong:has(em) { background: hsl(0deg 50% 50% / .25); border: 1px dashed hsl(0deg 50% 50% / .25);
}
Ensuite, j'utiliserais probablement cet extrait de la dernière section qui supprime le style italique par défaut d'un élément lorsqu'il est imbriqué dans un autre élément en italique.
Rien d'autre?
Mayyybe :
- Contenu propulsé par le référencement et distribution de relations publiques. Soyez amplifié aujourd'hui.
- Platoblockchain. Intelligence métaverse Web3. Connaissance Amplifiée. Accéder ici.
- La source: https://css-tricks.com/the-double-emphasis-thing/
- 1
- 11
- 7
- 9
- 98
- a
- accessibilité
- Compte
- Supplémentaire
- propos
- adresses
- affecter
- affectant
- Après
- Tous
- seul
- déjà
- Amérique
- et les
- annoncé
- Annoncer
- Une autre
- de n'importe où
- Appliquer
- Avatar
- RETOUR
- fond
- car
- before
- va
- Améliorée
- Bit
- goupille
- frontière
- PATRON
- Box
- box-office
- navigateur
- navigateurs
- budget
- Appels
- capable
- maisons
- cas
- Modifications
- en changeant
- classiques
- Couleur
- contact
- contient
- contenu
- CSS
- Réglage par défaut
- Défense
- défensive
- un
- différent
- Ne fait pas
- Ne pas
- double
- effort
- non plus
- éléments
- l'accent
- mettre en relief
- souligné
- énorme
- assez
- Tout
- Erreurs
- Pourtant, la
- exemple
- exemples
- express
- supplémentaire
- combats
- Figure
- Prénom
- marqué
- Abonnement
- formulaire
- De
- obtenez
- donne
- Don
- À l'échelle mondiale
- Go
- aller
- Bien
- l'
- manipuler
- vous aider
- ici
- Souligner
- Soulignant
- HTML
- HTTPS
- idée
- identifier
- importance
- important
- in
- d'information
- perspicacité
- plutôt ;
- IT
- Jennifer
- Nom
- limité
- Gamme
- peu
- emplacements
- Location
- Style
- LES PLANTES
- a prendre une
- FAIT DU
- marque
- Matière
- sens
- mesurer
- mentions
- pourrait
- million
- Villas Modernes
- Élan
- PLUS
- film
- Films
- NAB
- Besoin
- Nest
- Ordinaire
- Nord
- Amérique du Nord
- numéros
- Offres Speciales
- Bureaux
- ONE
- ouverture
- de commander
- Autre
- partie
- performant
- avantages
- Téléphone
- Physique
- Place
- Platon
- Intelligence des données Platon
- PlatonDonnées
- jouer
- Beaucoup
- des notes bonus
- position
- Probablement
- protégé
- purement
- nous joindre
- Lire
- lecteurs
- raison
- Rouge
- rappeler
- rendu
- REST
- retenue
- Règle
- même
- pour écran
- lecteurs d'écran
- Section
- sémantique
- sens
- phrase
- set
- devrait
- simplement
- situation
- So
- quelques
- quelque chose
- Son
- Identifier
- Encore
- stress
- STRONG
- Catégorie
- Suggère
- Super
- supposé
- TAG
- tests
- Le
- La Source
- chose
- des choses
- fois
- Titre
- à
- TON
- trop
- oui
- urgent
- utilisé
- avertissement
- Montres
- weekend
- peser
- poids
- Quoi
- que
- tout en
- WHO
- sera
- dans les
- sans
- des mots
- pourra
- écriture
- Vous n'avez
- Votre
- zéphyrnet