Giter VIP home page Giter VIP logo

design.numerique.gouv.fr's Introduction

DesignGouv

Concevons des services publics numériques accessibles, inclusifs et humains.

DesignGouv rassemble les agents publics soucieux de la qualité des services numériques et met à disposition des outils pour leur amélioration.

Installation

  • git clone [email protected]:DISIC/design.numerique.gouv.fr.git
  • yarn global add @gridsome/cli
  • yarn

Démarrer le projet

  • Entrer dans le projet cd design.numerique.gouv.fr
  • Exécuter gridsome develop pour démarrer un environnement local

Licence

Le code source de ce dépôt est publié sous licence MIT.

Sauf mention de propriété intellectuelle détenue par des tiers (notamment un crédit sur certaines images), les contenus de ce dépôt sont publiés sous licence Ouverte 2.0.

La marque d'État est à usage exclusif des acteurs de la sphère étatique. En particulier, la typographie Marianne© est protégée par le droit d'auteur. Lire les explications sur le site de la marque d'État.

design.numerique.gouv.fr's People

Contributors

adrienmuzyczka avatar amezyane avatar anthonybrunelli avatar antoineaugusti avatar arnolem avatar bellangerq avatar benoitdequick avatar dependabot[bot] avatar design-gouv avatar erwan-le-gall avatar fdemiselle avatar jrenaux11 avatar luce-carevic avatar marineb avatar mathildespark avatar mysparkacademy avatar ophelie-etalab avatar teleboas avatar ugodtn avatar yaaax avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

design.numerique.gouv.fr's Issues

[RGAA] Tabulation cohérente

Lorsqu'on lance une recherche vide et que l’on arrive sur la page https://www.numerique.gouv.fr/rechercher/, le focus est automatiquement positionné sur le champ de recherche au chargement de la page. L’utilisateur naviguant au clavier n’a donc pas accès au contenu précédent le champ, à moins de tabuler en arrière.

Supprimer l’autofocus sur le champ au chargement de la page

[RGAA] Contrôle de saisie et message d'erreur

Les indications de champs obligatoires, les indications de format de saisie et les messages d'aides ou d'erreurs doivent être indiqués à l'utilisateur avant la saisie par l'un des moyens suivants :
Pour l'indication des formats obligatoires de saisie, les messages d'aides ou les messages d'erreurs : • Dans l'étiquette : balise , le passage de texte lié avec aria-labelledby="@id-texte", le title="Intitulé" ; • Ou un passage de texte lié au champ concerné par la propriété aria-describedby="@id-texte" ;

Corrections
• Utiliser une des méthodes décrites ci-dessus pour lier les indications de champs obligatoires, les indications de format obligatoires, les messages d'aides ou les messages d'erreur aux champs concernés ;
• Vérifier que toutes les indications de champs obligatoires, les indications de format obligatoires, les messages d'aides ou les messages d'erreur sont correctement liés aux champs concernés.
Indication de format : <label for="form-email"> Votre email <span class="required">*</span> <span([email protected])</span> </label>
Message d'erreur : <label for="form-email"> Votre email <span class="required">*</span> <span([email protected])</span> </label> <input required="" id="form-email" type="email" name="from" describedby="erreur"> <p id="erreur">Saisissez une adressemail valide, par exemple : [email protected]</p>

[RGAA] restitution des résultats de recherche

Pour restituer en temps réel le nombre de résultats, ajouter les propriétés aria-live="polite" et aria-atomic="true" sur la zone de texte du nombre de résultats
<div class="ais-body ais-stats--body" aria-live="polite" aria-atomic="true"> <div> <h2 class="h4">Il y a 101 résultats</h2> </div> </div>

[RGAA] Filtres de l'agenda

  1. Changement d’ordre des filtres :
    Sur la page Agenda, les éléments des filtres « Type » et « Thématique » se réordonnent après chaque action de sélection/désélection de l’utilisateur. Ceci perturbe la compréhension du parcours de tabulation et donc la navigation au clavier, impactant les aveugles ou déficients visuels qui utilisent des lecteurs d'écrans ainsi que les handicapés moteurs qui ne peuvent utiliser la souris.
  2. Confusion en liens et éléments de formulaire :
    Pour les aveugles et les grands malvoyants qui utilisent un lecteur d’écran, le manque de distinction claire entre les liens et des éléments de formulaires tels que des cases à cocher, peut poser de graves problèmes.
    Ainsi, les filtres « Thématique » implémentés sous la forme de liens qui déclenchent une action de la page risquent de perturber l’utilisateur qui s’attendra au chargement d’une nouvelle page. De manière générale, les liens (<a href=>) devraient être réservés à l’affichage d’une nouvelle page ou la création de liens d’accès rapide dans le contenu (<a href="#contenu">).
  3. Actualisation de la liste sans rechargement de page :
    L’actualisation en temps réel de la liste des événements au fil de l’ajout ou suppression de filtres n’est pas restituée pour les utilisateurs de lecteurs d’écran. Les handicapés moteurs rencontreront également un obstacle à la consultation des résultats car le module des filtres figure dans le code après la liste des événements, ce qui les oblige à revenir en arrière dans le parcours de tabulation pour consulter la liste actualisée. Il faudrait donc rendre possible l’accès direct à liste des événements au moyen d’un bouton, par exemple « Voir les résultats ».

Corrections

  1. Si possible, ne pas réordonner les des filtres « Type » et « Thématique ».
  2. Pour les filtres « Thématique » utilisant une balise , adopter le motif de conception ARIA « checkbox », et ajoutez une propriété title="Actif/Non actif" sur chaque élément afin de satisfaire également le critère 3.1 concernant l’information donnée par la couleur.
  3. Implémenter un bouton « Voir les résultats » à la fin de la zone de filtres. Ce bouton doit repositionner le focus sur l’élément englobant les événements, en utilisant la méthode JavaScript focus() et en ajoutant une propriété tabindex="-1" sur cet élément .

[RGAA] Hierarchie des titres

Par exemple sur la page d'accueil

  • Absence de titres sur les articles de la section « A la une »
  • Absence de titre h1 : la présence d’un titre de niveau 1 n’est pas obligatoire, mais est néanmoins conseillée afin d’optimiser la restitution

Sur la page agenda Rupture dans la hiérarchie des titres : on ne trouve pas de h2 entre le h1 et le h3 « Carte ».

Vérifier sur toutes les pages

  • La présence d'au moins un titre h1. Par exemple sur la page d’accueil, le texte « numerique.gouv.fr » pourrait faire office de h1.
  • Que la structure de titre ne contient pas de rupture niveau.
  • Que tous les passages de textes qui apparaissent jouer le rôle de titre sont structurés avec des balises hx. Par exemple, le

[RGAA] Pertinence des intitulés de lien

3 exemples de libellé de lien non pertinent :

  • Page d'accueil : L’information de date présente dans l’image n’est pas restituée dans l’intitulé du lien.
  • Page de recherche : L’image possède une alternative « undefined » qui rend l’intitulé du lien non pertinent.
  • Page agenda (icône calendrier) : L’image possède une alternative « icon » qui rend l’intitulé du lien non pertinent.

Vérifier tous les liens

[RGAA] Design pattern ARIA non correct pour le menu de navigation

Le design pattern ARIA utilisé pour le menu de navigation ne convient pas (role=menu sur le <ul#menu>) :

  • Celui-ci est normalement utilisé par exemple pour des barres d'outils dans des applications web ou dans les champs WYSIWYG.
  • Pour respecter le design pattern, les <li> enfants devraient avoir un attribut ARIA comme role=menuitem. Il devrait être également possible de naviguer entre les liens au clavier avec les flèches haut et bas.
  • Enfin, le role=navigation sur la balise parente <nav> suffit ici pour indiquer le menu de navigation aux lecteurs d'écran.

"processus" au lieu de "process" ?

Remplacer "process" par "processus" ?

Vu dans :

[RGAA] Prise de focus non visible sur les CTA sur Firefox

Sur Firefox, le focus n'est pas visible sur tous les CTA ("Voir les défis", "L'accessibilité en détails", etc.).

Sur Chrome, la couleur de l'outline est définie par défaut avec -webkit-focus-ring-color.

Sur Firefox, l'outline reprend la couleur du texte dans le lien ou le bouton. Or, le texte est blanc lorsque le lien a le focus. Du coup, l'outline est également blanc et n'est pas visible avec le fond du site.

Pour corriger cela, on peut dans le CSS rajouter une propriété outline indiquant la couleur, pour les boutons/liens à l'état :focus.

[RGAA] étiquettes et regroupement des champs de formulaire

Par exemple sur les filtres de la page Agenda, les champs suivant sont dépourvus d'étiquette :
• Les champs « Date »
• Les cases à coche « Type »
• Le champ « Mot clé »
Corrections
• Vérifier que pour chaque champ de formulaire uns étiquette visible est présente et liée au champ de saisie par l'un des moyens suivants : o Le champ possède une propriété aria-labelledby="@ID-texte" qui permet de lier un passage de texte faisant office d'étiquette visible ; o Le champ possède Une propriété aria-label="[intitulé]" accompagné d'un texte visible à proximité du champ ; o L'étiquette est créée avec une balise correctement liée au champ ; o L'étiquette est créée avec un attribut title="[intitulé]".
• Vérifier que toutes les étiquettes sont pertinentes et permettent de comprendre la saisie attendue. Dans toute la mesure du possible la méthode faisant intervenir la balise html est à privilégier.

Utiliser une structure fieldset/legend pour structurer ces groupes de champs :
• Les deux champs date
• Les cases à cocher « Type »
• Les cases à cocher « Thématique »

[RGAA] Lien sans intitulé

pour les images-liens, l'intitulé du lien doit se trouver dans l'attribut alt du lien

Dans le pied de page, l'icône rss possède un attribut aria-hidden qui masque l'alternative à l'image bien renseignée :(

README.md

L'ordre des commandes n'est pas bon, avant de faire yarn il faut se placer dans le dossier

[RGAA] Gestion du focus

Par exemple sur le champ de recherche de la page « Résultats de recherche » et la page « Agenda », Lorsque l’utilisateur clique sur le bouton de réinitialisation, le bouton est masqué en CSS avec un display:none, ce qui entraîne la perte du focus sur le bouton.

Sur la page de Résultats de recherche et la page Agenda :
Le bouton « Voir plus de résultats » affiche les nouveaux éléments, mais ceux-ci figurant dans le code avant le bouton, l’utilisateur devra revenir en arrière dans la tabulation pour les consulter.
Corrections
• Au click sur le bouton de réinitialisation, repositionner le focus sur le champ de recherche, en utilisant la méthode JavaScript focus().
• Au click sur le bouton "Voir plus de résultats" , repositionner le focus sur le premier des nouveaux résultats affichés, en utilisant la méthode JavaScript focus() et en ajoutant une propriété tabindex="-1" sur cet élément.

Accessibilité personnes en situation de handicap

Certaines personnes, dont les personnes porteuses d'un autisme type Asperger, ont du mal à saisir les parcours visuels des pages web, et à cliquer sur les bons boutons. Ceux qui conduisent directement à la page qui les concernent.
L'ergonomie, y compris celle de ce site (tout est gris sur fond blanc, aucune distinction entre les boutons, voire pas de cadre pour signaler qu'il s'agit d'un bouton), n'est pas assez approfondie en leur direction.
Peut-être travailler avec un groupe de volontaires qui donnerait des indications pour améliorer les parcours sur les pages (y compris sur ce site)... Et proposer un "code de bonne ergonomie" ?
Assortir les pages d'un "tutoriel" soit des bulles mobiles selon l'emplacement de la souris (avec affichage "temporisé").
Voir avec le service du ministère concerné (Cohésion sociale...) s'ils ont un projet de même nature.

Partage du workspace airtable

Bonjour,

J'obtiens ce message d'erreur sur une fresh install npm (8.3.1)

~/design.numerique.gouv.fr$ gridsome develop
Gridsome v0.7.23

Initializing plugins...
AirtableError {
  error: 'NOT_FOUND',
  message: 'Could not find what you are looking for',
  statusCode: 404
}

Donc du coup je me pose bien cette même question : what i'm looking for ??? :)

Merci !

Orthographe et autre

Quelques corrections :

En 1 découverte du sujet :
Certains de vos usagers sont
aveugleS ou avec déficit visuel (2 millions de personnes)
sourdeS ou malentendants

En 2C
DéployeZ (ce serait d'ailleurs intéressant de choisir entre eZ et eR pour la terminaison des verbes, c'est une fois l'un, une fois l'autre.)

En 9a
Poursuivre les formations en continu

Bon courage et merci pour la ressource...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.