La contradiction de la réinitialisation CSS –

Notre domaine (le développement Web et front-end) utilise les réinitialisations (qui, pour simplifier, incluent ici les « redémarrages » et les « normalisateurs ») depuis environ 20 ans. Je dis « à propos » parce qu’il semble Tantek Çelik a tout commencé en 2004 (où vous trouverez également le vôtre), mais d’autres auteurs ont peut-être utilisé des techniques similaires encore plus tôt.
Locaux
Les réinitialisations CSS reposent sur trois prémisses :
- Il existe des différences dans la manière dont les agents utilisateurs présentent les pages Web, c’est-à-dire dans leur les styles par défaut varient.
- Ces différences ont un effet sur le site Web donné.
- Il est important de gérer les différences.
Il devrait être évident de dire que si – ou une fois – tous les agents utilisateurs gèrent le CSS de la même manière, il n’est pas nécessaire de réinitialiser le CSS.
Il devrait également être évident que si les différences ne s’appliquent pas, une réinitialisation CSS n’est pas non plus nécessaire. Par exemple, les différences de style des formulaires n’ont pas d’importance sur les sites Web sans formulaire.
Et de nombreux arguments ont inutilement éclaté à ce sujet – cela signifie également que si les différences ne sont pas considérées comme suffisamment importantes, il n’est pas non plus nécessaire de réinitialiser le CSS.
Je crois que ce que nous avons constaté au cours des 20 dernières années, c’est que tous les auteurs n’ont pas prêté attention à la question de savoir si les différences de style entre les agents utilisateurs les affectaient et si ces différences étaient réellement importantes.
Mais il existe également d’autres problèmes.
Réalité
Pour les utilisateurs de réinitialisation CSS, la réalité est qu’ils ressentent le besoin d’utiliser une réinitialisation CSS. Il est possible (et également probable) qu’il y ait des utilisateurs de réinitialisation CSS qui ne ressentent pas cela et qui utilisent une réinitialisation CSS parce qu’ils le doivent ou parce qu’ils se sentent plus en sécurité en les utilisant. En pratique, cependant, l’utilisation d’une réinitialisation CSS fait également partie de leur réalité.
Ce que les utilisateurs de réinitialisation CSS oublient, c’est qu’il existe une autre réalité, à savoir celle des développeurs et des propriétaires de sites qui le font. pas utilisez les réinitialisations CSS.
Ceci s’explique par les prémisses exposées plus haut, mais est intéressant pour deux raisons.
- Qu’il existe des sites et des applications qui ne sont pas utilisés et qui fonctionnent correctement sans réinitialisation CSS, c’est à peu près jamais on parle de dans le cadre des réinitialisations CSS.
- Lorsque nous prenons les positions extrêmes de toujours et jamais besoin d’une réinitialisation CSS, positions que nous observons dans la pratique, nous nous retrouvons alors avec une contradiction. P&¬P. *
Bien que les prémisses permettent de concilier la contradiction, le problème persiste : dans notre discours sur les réinitialisations CSS, personne ne semble admettre qu’il existe des sites Web qui fonctionnent sans réinitialisation – ce qui remet fondamentalement en question et contredit la notion « fondamentaliste » CSS selon laquelle ils ont toujours été réinitialisés. nécessaire. Ce n’est tout simplement ni vrai, ni utile.
Mais est-ce tout ? Non:
Commodité
Les réinitialisations CSS sont devenues une forme de marchandise. Il y a beaucoup d’entre eux (une recherche montre plus de variété que la meilleure collection que j’ai pu trouver), et ils sont intégrés dans certains frameworks HTML/CSS et même JS.
Cela permet aux développeurs d’oublier facilement les prémisses et d’assumer un besoin général de réinitialisation CSS.
Ce que nous avons pu observer il y a longtemps, c’est que les gens ont cessé de remettre en question leur utilisation des réinitialisations, même s’ils n’ont aucun effet. †
Conséquences
Semblable à les effets de l’expédition de HTML invalide et fantastiquetout cela ne fait que grignoter le métier du développement frontend.
Quelles sont nos options ?
Tout d’abord, nous devons être clairs sur les prémisses derrière les réinitialisations CSS et les inclure dans nos discussions. Cela permettra à la fois moins de chaleur dans le discours mais aussi de meilleures décisions.
Deuxièmement, nous devons vérifier la réalité. Il existe de nombreux sites et applications qui n’utilisent pas de réinitialisation CSS et qui fonctionnent parfaitement dans tous les agents utilisateurs. Cela fait partie de notre réalité, et compte tenu des performances et de l’empreinte de maintenance de certaines réinitialisations CSS, c’est une réalité à laquelle il convient de prêter attention.
Troisièmement, nous devons nous lancer des défis les uns les autres et, peut-être plus important encore, nous mettre au défi nous-mêmes. Rechercher la commodité semble naturel, et pourtant il est important d’être clair sur les conséquences : la commodité mène facilement à la complaisance, au dogme et, finalement, à l’ignorance. C’est utile de rendre la vie de nos développeurs un peu difficile.
Lorsque nous ferons tout cela, nous devrions arriver là où nous aurions pu arriver il y a 20 ans : un endroit où nous pouvons très utilisation sélective de réinitialisations personnalisées, très probablement uniquement dans des environnements de grande complexité technique ou de grande diversité dans l’ancienneté des développeurs. Mais ce ne sont que des spéculations, à propos d’un cadeau que nous n’avons pas.
Le titre est volontairement laissé incomplet.
Un grand merci à Miriam Suzanne et Jad Joubran pour avoir examiné ce message.
Source link