Parcourez la page pour découvrir ce que browserux.css améliore et pourquoi c’est important.
Activez ou désactivez browserux.css avec le bouton ci-dessous.
Reset et normalisation : les bugs présents dans tous les projets
// Les valeurs par défaut des navigateurs créent des problèmes de mise en page et des incohérences visuelles entre moteurs. Ici, les corrections sont globales et appliquées une fois pour toutes.
Modèle de boîte : box-sizing: border-box
Sans border-box, le padding et la bordure s’ajoutent à la largeur déclarée. Un élément annoncé à 200px, avec 20px de padding et une bordure de 4px, finit par occuper 248px.
Les navigateurs n’héritent pas toujours de la police de la page pour <button>, <input> ou <select>. Ces éléments peuvent s’afficher dans une police système qui rompt la cohérence visuelle.
Sans cette règle, les titres sur plusieurs lignes laissent souvent un mot isolé sur la dernière ligne. balance répartit les mots plus harmonieusement.
Sans : mot isolé sur la dernière ligne
Un titre long mieux réparti sur plusieurs lignes
Avec browserux.css : retours à la ligne équilibrés
Un titre long mieux réparti sur plusieurs lignes
h1, h2, h3, h4, h5, h6 { text-wrap: balance; }
Utilisabilité : moins de JavaScript à écrire
// Des améliorations UX autrefois confiées à des bibliothèques ou à des scripts, désormais prises en charge nativement par CSS.
Boîte de dialogue : ouverture animée en CSS
@starting-style définit l’état d’une boîte de dialogue avant son ouverture, ce qui permet un fondu et un glissement fluides. L’arrière-plan s’estompe aussi. Sans JavaScript.
/* État avant l'ouverture, interpolé par le navigateur */ @starting-style { dialog[open] { opacity: 0; transform: translateY(-8px); } }
Zone de texte : hauteur ajustée au contenu
field-sizing: content permet à la zone de texte de grandir avec son contenu. Pas de bibliothèque JavaScript d’auto-redimensionnement. Pas de gestionnaires d’événements.
Sans : hauteur fixe, poignée de redimensionnement horizontal
Le soulignement par défaut traverse les descendantes des lettres (g, j, p, q, y). Un léger décalage l’éloigne du texte et améliore nettement la lisibilité.
Le curseur de texte garde souvent la couleur par défaut du navigateur. Le teinter avec l’accent principal ajoute une touche soignée et cohérente avec la marque.
Quand une scrollbar apparaît ou disparaît, le contenu se décale. scrollbar-gutter: stable réserve l’espace nécessaire et évite les sauts de mise en page.
Sans : le contenu bouge quand la scrollbar apparaît
Observez le bord droit de cette barre →
Ligne 2
Ligne 3
Avec browserux.css : espace toujours réservé
Le bord droit de cette barre reste stable →
Ligne 2
Ligne 3
html { overflow-y: scroll; scrollbar-gutter: stable; }
Contrôles de formulaire : accent-color
Les cases à cocher, boutons radio et sliders utilisent souvent le bleu par défaut du navigateur. Une seule déclaration accent-color les adapte tous à votre couleur de marque.
Sans : bleu par défaut du navigateur
Avec browserux.css : couleur principale de la marque
// Navigation au clavier, lecteurs d'écran, besoins visuels spécifiques : les bases restent solides sans effort supplémentaire.
Focus clavier : :focus-visible
Les clics à la souris ne doivent pas afficher de contour inutile, tandis que la navigation au clavier doit garder un indicateur de focus bien visible. BrowserUX utilise une solution fallback plus sûre : :focus reste visible par défaut, puis :focus:not(:focus-visible) retire le contour lors des interactions au pointeur dans les navigateurs compatibles.
Validation de formulaire : :user-valid / :user-invalid
Avec :valid/:invalid, les champs requis peuvent afficher une erreur dès le chargement de la page, avant même que l'utilisateur saisisse quoi que ce soit. :user-valid/:user-invalid attendent d'abord une vraie interaction.
Sans : état d'erreur avant interaction
Invalide avant toute interaction de l'utilisateur
Avec browserux.css : validation après interaction
Saisissez une valeur invalide, puis cliquez ailleurs
Sans cette déclaration, les contrôles natifs de l'interface (sélecteurs de date, listes déroulantes, cases à cocher) restent clairs même en mode sombre. Une ligne les aligne sur le thème du système.
Sans : les contrôles natifs ignorent le mode sombre
Avec browserux.css : adaptation au thème du système
:root { color-scheme: light dark; }
Préférences système : tester les cas sensibles
// Pas besoin d'ouvrir les outils de développement. Vous pouvez voir directement ici comment browserux.css réagit aux préférences système.
Mode sombre
Les variables CSS s'adaptent via prefers-color-scheme: dark. Les états de validation et la scrollbar suivent le même thème.
Thème + champs de validation
Mouvement réduit
Animations et transitions sont désactivées via prefers-reduced-motion: reduce.
Animation en cours
Contraste élevé
Les placeholders et les éléments atténués sont renforcés avec prefers-contrast: more.
Texte normal. Accentuation italique. Petit texte.
Couleurs forcées
Le mode contraste élevé de Windows remplace les couleurs CSS. browserux.css préserve les signaux essentiels avec forced-colors: active.
Activez-le via Paramètres Windows → Accessibilité → Thèmes de contraste.
:focus-visible utilise Highlight. Les éléments de formulaire retrouvent leurs bordures ButtonText.