Guide de référence des bugs de rendu célèbres et des bizarreries JavaScript rencontrés lors de la maintenance de sites Internet Explorer (IE8) hérités.
Bizarreries connues d’IE8 et solutions de contournement
1. Événements change sur les boutons radio et cases à cocher
Sous IE8, l’événement change sur <input type="checkbox"> et <input type="radio"> ne se déclenche pas immédiatement au clic ; il attend la perte du focus.
- Contournement : Écoutez l’événement
clickau lieu dechangepour une mise à jour instantanée.
2. Éléments <label> cliquables englobant des champs de saisie
Sous IE8, cliquer sur un <label> contenant un champ de saisie ne bascule ni ne focalise le contrôle interne.
- Contournement : Attribuez un
id="..."unique à chaque champ et associez-le explicitement via<label for="...">.
3. Héritage de l’opacité sur les descendants positionnés
Définir filter: alpha(opacity=50); sur un parent ne s’applique pas aux enfants dotés de position: relative ou position: absolute.
- Contournement : Appliquez explicitement le filtre d’opacité directement aux enfants positionnés.
4. Déclenchement de hasLayout (IE6 / IE7)
De nombreux bogues de mise en page (contenu disparaissant, modèle de boîte cassé) sous IE6/7 survenaient faute de dimensions internes de rendu.
- Correction : Déclenchez
hasLayoutaveczoom: 1;en CSS.