Page d'accueil » Création de sites web » Meilleures pratiques pour l'amélioration progressive de la conception Web

    Meilleures pratiques pour l'amélioration progressive de la conception Web

    La création de sites Web est incroyablement complexe et comporte de nombreuses pièces qui changent rapidement. Le but de la communauté des concepteurs de sites Web est de: diminuer la complexité, et réduire le potentiel d'erreur à chaque étape du processus de création.

    Amélioration progressive est une telle idée dans la conception web qui vise à réduire les erreurs et fournir une expérience utilisateur cohérente à travers le conseil. Le concept a sa propre page Wikipedia qui l’explique en tant que méthode de contenu entièrement accessible, rendre les fonctionnalités améliorées uniquement lorsqu'elles sont prises en charge par le navigateur.

    Il est facile de comprendre l'amélioration progressive, mais pas aussi facile de l'appliquer directement à votre travail de conception. J'aimerais en couvrir meilleures pratiques pour l'amélioration progressive des projets du monde réel à aider les concepteurs à penser de manière plus durable à leur flux de travail.

    1. Comprendre l'amélioration progressive

    La théorie de l'amélioration progressive recommande de commencez avec un site web simple qui fonctionne dans tous les navigateurs, ce qui en fait accessible pour chaque visiteur. Puis ajoutez des fonctionnalités autant que possible.

    C'est le contraire de la dégradation progressive, qui inclut toutes les fonctionnalités par défaut, puis se dégrade lorsque quelque chose ne fonctionne pas..

    L’amélioration progressive est préférable pour l’expérience globale de l’utilisateur, car elle ne charge que les éléments nécessaires. Chaque navigateur Web peut prendre en charge le texte (et généralement les images). Sans CSS, ces informations paraîtront fades et sans goût, mais elles seront accessibles..

    Ce List Apart article soutient que l'amélioration progressive est content-first avec styles et composants dynamiques ajoutés ultérieurement. Le contenu en HTML sémantique doit être livré avant toute autre chose.

    Les CSS et JavaScript avancés que nous utilisons aujourd'hui sont largement pris en charge, mais si nous voulons suivre les principes d'amélioration progressive, ils doivent être considérés comme un luxe..

    Voici un aperçu général des principales caractéristiques de l’amélioration progressive, à prendre en compte:

    • Balisage sémantique pour tout contenu
    • Utilisateurs' préférences du navigateur doit être respecté
    • Le contenu et les fonctionnalités de base doivent être disponible pour tous les utilisateurs
    • JavaScript discret est chargé uniquement dans des environnements qui peuvent le supporter

    Les contraintes technologiques dans le développement frontal sont principalement déterminées par la compatibilité du navigateur. L’amélioration progressive vous ramène à l’essentiel en pensant à la façon dont le page web la plus simple pourrait ressembler. De là, vous pouvez planifier des fonctionnalités plus avancées, comme les propriétés CSS3.

    Mais qu'en est-il des navigateurs qui ne supportent pas le CSS3 moderne? C'est ici qu'entrent en jeu des sites tels que Puis-je utiliser? Vous devez choisir les fonctionnalités qui méritent d’être implémentées et vous baser sur des jugements. sur le public cible de votre site web.

    2. Subsistence In Stylesheets

    La plupart des navigateurs actuels prennent en charge toutes les propriétés de base dont vous avez besoin. Mais CSS3 avancé est toujours un problème pour les utilisateurs hérités, et l'amélioration progressive offre une solution.

    Au lieu de rechercher des méthodes de secours pour conserver ces nouvelles fonctionnalités, commencez par vous préoccuper de structures de mise en page appropriées.

    Écrivez un balisage HTML et CSS sémantique qui fonctionne dans autant de navigateurs actifs que possible (la prise en charge d'anciens navigateurs comme IE5 n'est pas nécessaire).

    Prenons par exemple ce JSFiddle qui utilise des flotteurs avec deux barres latérales (.fixé) et une zone de contenu fluide (.fluide). Si vous supprimez tout le code CSS et relancez le code, vous remarquerez que tout se superpose bien avec la première colonne, puis la deuxième et enfin la dernière..

    Certains développeurs préfèrent avoir la colonne de contenu (.fluide) apparaissent en premier dans le code HTML. C’est là que l’amélioration progressive entre en jeu et que les solutions CSS alternatives deviennent viables..

    Les deux objectifs principaux de votre code HTML sont les suivants:

    • Pleinement sémantique et valide code
    • UNE expérience cohérente pour tout le monde

    Le moyen le plus simple d’atteindre ces objectifs est de: partir de rien et travailler, comme le recommandent la plupart des défenseurs de l'amélioration progressive.

    Si votre code semble bon avec CSS désactivé et activé, il offre une solution raisonnable pour tout le monde.

    Cela vaut également la peine d'être pris en compte à quel point vous abandonnez le soutien pour quelque chose. Microsoft a déjà abandonné le support majeur pour IE6. Par conséquent, les utilisateurs de ce navigateur ne valent peut-être pas votre temps..

    Mais il reste une grande question: si un navigateur ne supporte pas mon CSS moderne, que dois-je faire??

    Vous simplement écrire du code qui fonctionne sans pour autant il, et considérez le CSS moderne comme une amélioration progressive. C'est la beauté de la méthodologie d'amélioration progressive.

    Vous n'avez pas besoin de solutions de rechange, car vous êtes en supposant que rien ne soit supporté par défaut.

    Les méthodes d’amélioration progressive consistent à rendre le site utilisable même dans les cas où quelque chose n’est pas pris en charge, mais tant mieux..

    Vous devez considérer comment le contenu coule réellement sans CSS. Par exemple, lorsque je désactive CSS sur le site Web de Transmit, le contenu est toujours présenté de manière organique sur la page..

    IMAGE: Transmettre

    Oui, c'est moche, et oui, on a l'impression d'avoir perdu vingt ans de progrès… mais ça marche.

    3. Gestion de JavaScript

    Il est à noter que chaque problème JavaScript que vous pouvez rencontrer au cours du processus de développement est délicat et unique. Lorsque vous construisez un nouveau projet avec une amélioration progressive, vous devez répertorier toutes les fonctionnalités requises basées sur JS et envisager comment fonctionne sans JavaScript.

    Cela nécessitera de nombreuses recherches en ligne pour trouver des solutions valables. Aaron Gustafson a écrit un excellent billet de blog avec des solutions à divers problèmes, comme le remplacement de Ajax par une méta-actualisation du contenu dans un iframe..

    De plus, lorsque vous créez des onglets JavaScript, c’est une bonne idée de utiliser des liens d'ancrage avec des valeurs d'identifiant réelles. Ainsi, lorsque JavaScript est désactivé, les onglets peuvent toujours être visibles et accessibles par valeur d'ancrage. Aaron a écrit un autre article sur A List Apart qui couvre un aperçu plus général de la façon dont vous devriez penser à ces problèmes..

    Voici un autre exemple. Disons que vous avez un lien qui charge le contenu de manière dynamique. le href la valeur est vide, car tout se charge via JavaScript avec la méthode preventDefault ().

    Au lieu de cela, il serait sage de définir la href propriété à pointer sur une autre page où le contenu pourrait se charger naturellement, mais le visiteur ne voit cette page que lorsque JavaScript est désactivé.

    L’amélioration progressive ne se limite pas à JavaScript, mais comme le développement Web progresse chaque année, il ne fait aucun doute que JavaScript joue un rôle important..

    Fonctionner en supposant que tout a été désactivé, et augmenter à partir de là. Cela peut inclure des problèmes avec des widgets incorporés hors de votre contrôle, le

    Pensez également aux fonctionnalités JavaScript qui manque de support complet du navigateur. Cela inclut l'API d'extraction, l'API push, la syntaxe de la fonction de flèche ou même les navigateurs sans prise en charge des bibliothèques modernes telles que jQuery..

    Chaque fonctionnalité nécessite test individuel avec une solution individuelle.

    L’essence de JavaScript progressivement amélioré consiste à: créer du contenu qui fonctionne sans script. Cela peut conduire à une expérience utilisateur rudimentaire, mais ce n'est pas grave tant que le site Web est utilisable et que le contenu est accessible..

    Si vous voulez faire des tests en direct, vous pouvez généralement désactiver CSS et JavaScript dans tous les principaux navigateurs pour voir comment votre site Web fonctionne. Cela vaut également la peine d'utiliser des extensions telles que A-Tester pour la conformité WCAG.

    JavaScript avec l'amélioration progressive est un sujet énorme. Voici quelques articles pour vous aider à creuser plus profondément:

    • Amélioration progressive! = “Pas de JavaScript”
    • L'interaction est la clé: amélioration progressive et JavaScript
    • Amélioration progressive: il s'agit du contenu
    • Comment appliquer l'amélioration progressive lorsque JavaScript semble être une exigence

    Où l'amélioration progressive tombe à court

    Bien que l'amélioration progressive soit une idée brillante pour presque tous les types de sites Web modernes, elle peut tout simplement ne pas être applicable aux projets qui visent à repousser les limites de la technologie Web.

    Par exemple, cette méthodologie n'est pas une bonne solution pour les applications Web qui fonctionnent uniquement sur des appels Ajax. Est-ce un bon choix pour l'accessibilité? Non bien sûr que non. Mais si c'était le cas, la plupart des tutoriels de Codrops n'existeraient même pas. Vous devez rappelez-vous le public cible.

    Un site Web professionnel n'a probablement pas le public qui s'intéresse aux nouvelles propriétés de la perspective CSS3, mais les développeurs Web peuvent être le public idéal pour de telles fonctionnalités avancées..

    L’amélioration progressive n’est valable que pour les applications Web qui tout simplement ne vous souciez pas de revenir dans le temps. Je me rends compte que ces applications Web sont rares, mais les développeurs aiment les progrès et, dans certains cas, il peut être judicieux d'aller de l'avant avec les nouvelles technologies en laissant les retardataires derrière eux..

    Je suis un partisan de l'amélioration progressive (ou même de la dégradation progressive, votre choix) pour les projets Web généraux. Mais je réalise aussi que ce n'est pas la solution parfaite pour tout. En fait, il n'y a pas de solution parfaite. Tout se résume aux besoins du public et aux objectifs du projet..

    Lectures complémentaires

    Si vous construisez constamment des projets Web, vous devriez envisager d'appliquer une amélioration progressive à votre flux de travail. C'est beaucoup plus facile qu'il n'y paraît à première vue, et tout commence par les fondamentaux. La plupart des sujets relatifs à l'amélioration progressive requièrent simplement de la pratique et des tests. Testez les suggestions de cet article et voyez ce qui fonctionne le mieux pour votre flux de travail..

    Si vous souhaitez en savoir plus sur l’amélioration progressive, consultez ces articles connexes:

    • Comprendre l'amélioration progressive
    • Amélioration progressive: qu'est-ce que c'est et comment l'utiliser?
    • Le Backlash de dépendance de JavaScript: Amélioration progressive effrénée de mythes