Je retrouve de vieilles notes et autres pensées, je les complète et je les publie petit à petit. Ici c’est un thread que j’avais posté sur feu Twitter, je le reposte ici.
Bah, CSS et faire de l’UI c’est facile, c’est même pas un vrai métier :
- tu as testé en dark mode ?
- en « light » mode ?
- si ça respecte les préférences de l’utilisateur en dark/light mode ?
- avec un fort zoom ?
- avec un fort zoom texte ?
- avec une combinaison des précédents ?
On respire.
- si ton viewport est petit ?
- si ton viewport est immense ?
- si ton viewport est large mais très peu haut ? (mortel celui-là)
- si ton viewport est étroit mais haut ?
- de manière générale, quel que soit le viewport, ça passe côté responsive ?
- sur tous les navigateurs ?
- sur tous les systèmes ?
- sur Safari Mobile ?
- sur Android ?
- sur Palemoon ? (NON)
On respire…
- sur des périphériques improbables, consoles de jeux, liseuses, etc. ?
- avec des contenus utilisateurs totalement improbables ?
- si la structure change ou est reprise ailleurs, ça pète ?
- si les effets de bords de ta modif font des dégâts ?
- à propos, c’est scopé correctement ?
- si ça passe à l’impression ?
- si en « high contrast mode » ça déconne pas ?
- si ton composant se retrouve dans n’importe quel contexte ?
Mais il est fou.
- si ton composant se retrouve imbriqué dans un autre ?
- et au fait, le code CSS est léger ?
- et compréhensible ainsi que maintenable ?
- et ça déclenche pas trop de reflow/repaint au fait ?
- et ça s’affiche vite ?
- et bien sûr, les contenus cachés ne sont plus focusables ?
- les anims sont fluides ?
- les transitions aussi ?
- et les contenus cachés par transitions/animations ne sont plus focusables ?
- et si on désactive les animations, ça le prend en compte ?
- et c’est skinnable si jamais ?
Si si.
- et le(s) fichier(s) générés sont légers et rapides ?
- et ça matche avec les directives CSP ?
- et si on change la langue de l’interface, ça ne déconne pas ?
- au fait, en RTL, ça passe ?
- et en mixant des contenus LTR et RTL, ça passe ?
- et avec des caractères à la con qui inversent la direction du texte, ça passe ? (mortel celui-là)
- et ton interface passe bien quand il y a tous les composants dans le pire des cas ?
- et quand il y a rien ?
- et ton interface avec beaucoup de contenus/très peu de contenus, ça roule ?
- etc.
On est d’accord : tout n’est pas strictement nécessaire ni même souhaitable, mais toutes ces petites choses peuvent faire partie du métier. Je ne les ai pas toutes listées, mais je me suis déjà frotté à chacune, et certaines ne sont vraiment pas faciles.
Et arriver à les faire toutes, c’est un vrai challenge, vous invitant à énormément d’humilité.
Pour les gens qui pensent que ça n’est pas un vrai métier, je vous pisse au cul avec une paille de 500 mètres sans toucher les bords.