janvier 2026

  • Accessible faux nested interactive controls

    Andy Bell propose une solution élégante pour contourner l’interdiction HTML d’imbriquer des éléments interactifs : créer une fausse zone cliquable qui reste accessible. L’idée, c’est d’utiliser un pseudo-élément positionné en absolu qui couvre toute la card, tout en gardant les vrais boutons ou liens interactifs au-dessus via z-index. Ça évite le balisage dégueu avec des <div> cliquables partout.

    Ce qui me plaît, c’est que ça reste propre côté DOM et que l’accessibilité n’est pas sacrifiée sur l’autel du design. Pas de role="button" sur des trucs qui n’en sont pas, pas de JavaScript tarabiscoté pour gérer les clics. Juste du CSS malin et un peu de réflexion sur la hiérarchie des interactions.

    Bon, faut quand même faire gaffe : si tu multiplies les zones cliquables imbriquées, ça peut vite devenir le bordel pour l’utilisateur. Mais pour une card avec un lien principal et quelques actions secondaires, c’est nickel. Andy donne même un exemple concret avec du code commenté, ce qui aide à bien piger la mécanique. Bref, une technique à garder dans un coin.


  • Date is out and Temporal is in

    On a tous galéré avec `Date()` en JavaScript. Les fuseaux horaires qui décalent tout, les calculs foireux, les librairies tierces pour compenser. Bref, un bordel.

    Temporal arrive enfin pour régler ça. Une API moderne, pensée dès le départ pour gérer proprement les dates, heures, durées et fuseaux. Fini de bidouiller avec des +86400000 pour ajouter un jour, fini les bugs silencieux quand on change de timezone.

    Ce qui me plaît surtout, c’est la clarté : `Temporal.PlainDate`, `Temporal.ZonedDateTime`, `Temporal.Duration`… Chaque type a son rôle, pas d’ambiguïté. Tu sais ce que tu manipules. Et les méthodes sont intuitives, cohérentes.

    Le support navigateur progresse doucement, mais ça vaut le coup de s’y intéresser maintenant. Parce que franchement, quand ça sera là partout, on se demandera comment on a pu vivre avec l’ancien système.