Merge pull request #7420 from betagouv/US/a11y/asqatasum-fixes

feat(a11y): Fix some a11y issues
This commit is contained in:
mfo 2022-06-01 17:24:26 +02:00 committed by GitHub
commit 7f91ee183e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 153 additions and 144 deletions

View file

@ -7,7 +7,8 @@
= t('.line2')
%br
= t('.line3')
%hr
%hr
%p
%span.small-simple= t('.are_you_new', app_name: APPLICATION_NAME.gsub("-","‑")).html_safe
%br
%br

View file

@ -1,50 +1,51 @@
%footer.landing-footer{ role: 'contentinfo' }
.container
%ul.footer-columns
%nav{ 'aria-label': t('links.footer.nav_aria', application_name: APPLICATION_NAME) }
%ul.footer-columns
%li.footer-column
%ul.footer-logos
%li.footer-text
Un service fourni par
= link_to t("links.provider.provided_by"), t("links.provider.url"), title: t("links.provider.title")
%br
%li
= link_to t("links.provider.url"), title: t("links.provider.title"), 'aria-label': t("links.provider.name") do
%span.footer-logo{ role: 'img', 'aria-label': t("links.provider.logo.alt") }
= image_tag t("links.provider.logo.src"), alt: t("links.provider.logo.alt"), width: t("links.provider.logo.width"), height: t("links.provider.logo.height"), loading: 'lazy'
= link_to t("links.footer.betagouv.url"), title: t("links.footer.betagouv.title"), 'aria-label': t("links.footer.betagouv.label") do
%span.footer-logo.footer-logo-beta-gouv-fr{ role: 'img', 'aria-label': "Logo #{t('links.footer.betagouv.label')}" }
%li.footer-column
%ul.footer-logos
%li.footer-text
Un service fourni par
= link_to t("links.provider.provided_by"), t("links.provider.url"), title: t("links.provider.title")
%br
%li
= link_to t("links.provider.url"), title: t("links.provider.name"), 'aria-label': t("links.provider.name") do
%span.footer-logo{ role: 'img', 'aria-label': t("links.provider.logo.alt") }
= image_tag t("links.provider.logo.src"), alt: t("links.provider.logo.alt"), width: t("links.provider.logo.width"), height: t("links.provider.logo.height"), loading: 'lazy'
= link_to t("links.footer.betagouv.url"), title: t("links.footer.betagouv.title"), 'aria-label': t("links.footer.betagouv.label") do
%span.footer-logo.footer-logo-beta-gouv-fr{ role: 'img', 'aria-label': "Logo #{t('links.footer.betagouv.label')}" }
%li.footer-column
%ul.footer-links
%li.footer-link
= link_to t("links.footer.newsletter.label"), t("links.footer.newsletter.url"), title: t("links.footer.newsletter.title"), class: "footer-link", target: "_blank", rel: "noopener"
%li.footer-link
= link_to t("links.footer.releases.label"), t("links.footer.releases.url"), title: t("links.footer.releases.title"), class: "footer-link"
%li.footer-link
= link_to t("links.footer.stats.label"), stats_path, title: t("links.footer.stats.title"), class: "footer-link"
%li.footer-link
= link_to t("links.footer.cgu.label"), t("links.footer.cgu.url"), title: t("links.footer.cgu.title"), class: "footer-link", target: "_blank", rel: "noopener noreferrer"
%li.footer-link
= link_to t("links.footer.mentions_legales.label"), t("links.footer.mentions_legales.url"), title: t("links.footer.mentions_legales.title"), class: "footer-link", target: "_blank", rel: "noopener noreferrer"
%li.footer-link
= link_to t("links.footer.suivi.label"), suivi_path, title: t("links.footer.suivi.title"), class: "footer-link"
%li.footer-link
= link_to t("links.footer.code.label"), t("links.footer.code.url"), title: t("links.footer.code.title"), class: "footer-link", target: "_blank", rel: "noopener noreferrer"
%li.footer-column
%ul.footer-links
%li.footer-link
= link_to t("links.footer.newsletter.label"), t("links.footer.newsletter.url"), title: t("links.footer.newsletter.title"), class: "footer-link", target: "_blank", rel: "noopener"
%li.footer-link
= link_to t("links.footer.releases.label"), t("links.footer.releases.url"), title: t("links.footer.releases.title"), class: "footer-link"
%li.footer-link
= link_to t("links.footer.stats.label"), stats_path, title: t("links.footer.stats.title"), class: "footer-link"
%li.footer-link
= link_to t("links.footer.cgu.label"), t("links.footer.cgu.url"), title: t("links.footer.cgu.title"), class: "footer-link", target: "_blank", rel: "noopener noreferrer"
%li.footer-link
= link_to t("links.footer.mentions_legales.label"), t("links.footer.mentions_legales.url"), title: t("links.footer.mentions_legales.title"), class: "footer-link", target: "_blank", rel: "noopener noreferrer"
%li.footer-link
= link_to t("links.footer.suivi.label"), suivi_path, title: t("links.footer.suivi.title"), class: "footer-link"
%li.footer-link
= link_to t("links.footer.code.label"), t("links.footer.code.url"), title: t("links.footer.code.title"), class: "footer-link", target: "_blank", rel: "noopener noreferrer"
%li.footer-column
%ul.footer-links
%li.footer-link
= contact_link t("links.footer.contact.label"), title: t("links.footer.contact.title"), class: "footer-link"
%li.footer-link
= link_to t("links.footer.doc.label"), t("links.footer.doc.url"), title: t("links.footer.doc.title"), class: "footer-link", target: "_blank", rel: "noopener noreferrer"
%li.footer-link
= link_to t("links.footer.api_doc.label"), t("links.footer.api_doc.url"), title: t("links.footer.api_doc.title"), class: "footer-link", target: "_blank", rel: "noopener noreferrer"
%li.footer-link
= link_to t("links.footer.faq.label"), t("links.footer.faq.url"), title: t("links.footer.faq.title"), class: "footer-link", target: "_blank", rel: "noopener noreferrer"
%li.footer-link
= link_to t("links.footer.accessibilite.label"), t("links.footer.accessibilite.url"), title: t("links.footer.accessibilite.title"), class: "footer-link", target: "_blank", rel: "noopener noreferrer"
%li.footer-link
= link_to t("links.footer.status_page.label"), t("links.footer.status_page.url"), title: t("links.footer.status_page.title"), class: "footer-link", target: "_blank", rel: "noopener noreferrer"
%li.footer-link
= link_to t("links.footer.security.label"), t("links.footer.security.url"), title: t("links.footer.security.title"), class: "footer-link", target: "_blank", rel: "noopener noreferrer"
%li.footer-column
%ul.footer-links
%li.footer-link
= contact_link t("links.footer.contact.label"), title: t("links.footer.contact.title"), class: "footer-link"
%li.footer-link
= link_to t("links.footer.doc.label"), t("links.footer.doc.url"), title: t("links.footer.doc.title"), class: "footer-link", target: "_blank", rel: "noopener noreferrer"
%li.footer-link
= link_to t("links.footer.api_doc.label"), t("links.footer.api_doc.url"), title: t("links.footer.api_doc.title"), class: "footer-link", target: "_blank", rel: "noopener noreferrer"
%li.footer-link
= link_to t("links.footer.faq.label"), t("links.footer.faq.url"), title: t("links.footer.faq.title"), class: "footer-link", target: "_blank", rel: "noopener noreferrer"
%li.footer-link
= link_to t("links.footer.accessibilite.label"), t("links.footer.accessibilite.url"), title: t("links.footer.accessibilite.title"), class: "footer-link", target: "_blank", rel: "noopener noreferrer"
%li.footer-link
= link_to t("links.footer.status_page.label"), t("links.footer.status_page.url"), title: t("links.footer.status_page.title"), class: "footer-link", target: "_blank", rel: "noopener noreferrer"
%li.footer-link
= link_to t("links.footer.security.label"), t("links.footer.security.url"), title: t("links.footer.security.title"), class: "footer-link", target: "_blank", rel: "noopener noreferrer"
}

View file

@ -1,17 +1,19 @@
%ul.footer-row.footer-bottom-line.footer-site-links
%li.footer-link-accessibilite>
= link_to t("links.footer.accessibilite.label"), t("links.footer.accessibilite.url"), title: t("links.footer.accessibilite.title"), class: "footer-link", target: "_blank", rel: "noopener noreferrer"
%li.footer-link-cgu>
= link_to t("links.footer.cgu.label"), t("links.footer.cgu.url"), title: t("links.footer.cgu.title"), class: "footer-link", target: "_blank", rel: "noopener noreferrer"
%li.footer-link-mentions-legales>
= link_to t("links.footer.mentions_legales.label"), t("links.footer.mentions_legales.url"), title: t("links.footer.mentions_legales.title"), class: "footer-link", target: "_blank", rel: "noopener noreferrer"
%li.footer-link-doc>
= link_to t("links.footer.doc.label"), t("links.footer.doc.url"), title: t("links.footer.doc.title"), class: "footer-link", target: "_blank", rel: "noopener noreferrer"
%li.footer-link-code>
= link_to t("links.footer.code.label"), t("links.footer.code.url"), title: t("links.footer.code.title"), class: "footer-link", target: "_blank", rel: "noopener noreferrer"
%li.footer-link-contact>
= contact_link t("links.footer.contact_technique.label"), dossier_id: dossier&.id, title: t("links.footer.contact_technique.title"), class: "footer-link"
%li.footer-link-aide>
= link_to t("links.footer.aide.label"), t("links.footer.aide.url"), title: t("links.footer.aide.title"), class: "footer-link", target: "_blank", rel: "noopener noreferrer"
%li.footer-link-solidarite-numerique>
= link_to t("links.footer.solidarite_numerique.label"), t("links.footer.solidarite_numerique.url"), title: t("links.footer.solidarite_numerique.title"), class: "footer-link", target: "_blank", rel: "noopener noreferrer"
%nav{ 'aria-label': t('links.footer.nav_aria', application_name: APPLICATION_NAME) }
%ul.footer-row.footer-bottom-line.footer-site-links
%li.footer-link-accessibilite>
= link_to t("links.footer.accessibilite.label"), t("links.footer.accessibilite.url"), title: t("links.footer.accessibilite.title"), class: "footer-link", target: "_blank", rel: "noopener noreferrer"
%li.footer-link-cgu>
= link_to t("links.footer.cgu.label"), t("links.footer.cgu.url"), title: t("links.footer.cgu.title"), class: "footer-link", target: "_blank", rel: "noopener noreferrer"
%li.footer-link-mentions-legales>
= link_to t("links.footer.mentions_legales.label"), t("links.footer.mentions_legales.url"), title: t("links.footer.mentions_legales.title"), class: "footer-link", target: "_blank", rel: "noopener noreferrer"
%li.footer-link-doc>
= link_to t("links.footer.doc.label"), t("links.footer.doc.url"), title: t("links.footer.doc.title"), class: "footer-link", target: "_blank", rel: "noopener noreferrer"
%li.footer-link-code>
= link_to t("links.footer.code.label"), t("links.footer.code.url"), title: t("links.footer.code.title"), class: "footer-link", target: "_blank", rel: "noopener noreferrer"
%li.footer-link-contact>
= contact_link t("links.footer.contact_technique.label"), dossier_id: dossier&.id, title: t("links.footer.contact_technique.title"), class: "footer-link"
%li.footer-link-aide>
= link_to t("links.footer.aide.label"), t("links.footer.aide.url"), title: t("links.footer.aide.title"), class: "footer-link", target: "_blank", rel: "noopener noreferrer"
%li.footer-link-solidarite-numerique>
= link_to t("links.footer.solidarite_numerique.label"), t("links.footer.solidarite_numerique.url"), title: t("links.footer.solidarite_numerique.title"), class: "footer-link", target: "_blank", rel: "noopener noreferrer"

View file

@ -2,61 +2,62 @@
.container
- service = procedure.service
- if service.present?
.footer-row.footer-columns
.footer-column
%p.footer-header= I18n.t('users.procedure_footer.managed_by.header')
%ul
%li
= service.nom
%br
= service.organisme
%br
= string_to_html(service.adresse, wrapper_tag = 'span')
.footer-column
%p.footer-header= I18n.t('users.procedure_footer.contact.header')
%ul
%li
- if dossier.present? && dossier.messagerie_available?
= I18n.t('users.procedure_footer.contact.in_app_mail.prefix')
= link_to I18n.t('users.procedure_footer.contact.in_app_mail.link'), messagerie_dossier_path(dossier)
- else
= I18n.t('users.procedure_footer.contact.email.prefix')
= link_to service.email, "mailto:#{service.email}"
- if service.telephone.present?
%li
= I18n.t('users.procedure_footer.contact.phone.prefix')
= link_to service.telephone, service.telephone_url
%li
- horaires = "#{I18n.t('users.procedure_footer.contact.schedule.prefix')}#{formatted_horaires(service.horaires)}"
= simple_format(horaires, {}, wrapper_tag: 'span')
%li
= I18n.t('users.procedure_footer.contact.stats.prefix')
= link_to I18n.t('users.procedure_footer.contact.stats.cta'), statistiques_path(procedure.path)
- politiques = politiques_conservation_de_donnees(procedure)
- if politiques.present?
%nav{ 'aria-label': t('users.procedure_footer.aria_label', procedure_name: dossier.present? ? dossier.procedure.libelle : 'la procédure en ligne') }
.footer-row.footer-columns
.footer-column
%p.footer-header= I18n.t('users.procedure_footer.legals.header')
%p.footer-header= I18n.t('users.procedure_footer.managed_by.header')
%ul
- politiques.each do |politique|
%li= politique
- if procedure.deliberation.attached?
%li
= link_to url_for(procedure.deliberation), target: '_blank', rel: 'noopener' do
= I18n.t("users.procedure_footer.legals.terms")
- else
%li
= link_to I18n.t("users.procedure_footer.legals.terms"), procedure.cadre_juridique, target: '_blank', rel: 'noopener'
%li
= service.nom
%br
= service.organisme
%br
= string_to_html(service.adresse, wrapper_tag = 'span')
- if procedure.lien_dpo.present?
.footer-column
%p.footer-header= I18n.t('users.procedure_footer.contact.header')
%ul
%li
- if dossier.present? && dossier.messagerie_available?
= I18n.t('users.procedure_footer.contact.in_app_mail.prefix')
= link_to I18n.t('users.procedure_footer.contact.in_app_mail.link'), messagerie_dossier_path(dossier)
- else
= I18n.t('users.procedure_footer.contact.email.prefix')
= link_to service.email, "mailto:#{service.email}"
- if service.telephone.present?
%li
= link_to url_or_email_to_lien_dpo(procedure), target: '_blank', rel: 'noopener' do
= I18n.t("users.procedure_footer.legals.dpo")
= I18n.t('users.procedure_footer.contact.phone.prefix')
= link_to service.telephone, service.telephone_url
%li
- horaires = "#{I18n.t('users.procedure_footer.contact.schedule.prefix')}#{formatted_horaires(service.horaires)}"
= simple_format(horaires, {}, wrapper_tag: 'span')
%li
= I18n.t('users.procedure_footer.contact.stats.prefix')
= link_to I18n.t('users.procedure_footer.contact.stats.cta'), statistiques_path(procedure.path)
- politiques = politiques_conservation_de_donnees(procedure)
- if politiques.present?
.footer-column
%p.footer-header= I18n.t('users.procedure_footer.legals.header')
%ul
- politiques.each do |politique|
%li= politique
- if procedure.deliberation.attached?
%li
= link_to url_for(procedure.deliberation), target: '_blank', rel: 'noopener' do
= I18n.t("users.procedure_footer.legals.terms")
- else
%li
= link_to I18n.t("users.procedure_footer.legals.terms"), procedure.cadre_juridique, target: '_blank', rel: 'noopener'
- if procedure.lien_dpo.present?
%li
= link_to url_or_email_to_lien_dpo(procedure), target: '_blank', rel: 'noopener' do
= I18n.t("users.procedure_footer.legals.dpo")
= render partial: 'users/general_footer_row', locals: { dossier: dossier }

View file

@ -11,9 +11,10 @@ en:
title: "Direction Interministérielle au Numérique"
url: "https://numerique.gouv.fr"
footer:
nav_aria: "More about %{application_name}"
accessibilite:
label: "Accessibility: partially compliant"
title: "Accessibility: partially compliant"
title: "Accessibility declaration"
url: "https://doc.demarches-simplifiees.fr/declaration-daccessibilite"
aide:
label: "Help"
@ -29,7 +30,7 @@ en:
url: "https://beta.gouv.fr"
code:
label: "Source code"
title: "Source code"
title: "Our Source code is open source"
url: "https://github.com/betagouv/demarches-simplifiees.fr"
cgu:
label: "ToS"
@ -37,17 +38,17 @@ en:
url: "https://doc.demarches-simplifiees.fr/cgu"
contact:
label: "Contact"
title: "Contact"
title: "Contact us"
contact_technique:
label: "Technical contact"
title: "Technical contact"
title: "Technical contact for bug report or security feedback"
doc:
label: "Documentation"
title: "Documentation"
title: "Our Documentation"
url: "https://doc.demarches-simplifiees.fr"
doc_nouveautes:
label: "News"
title: "News"
title: "Our latest News"
url: "https://doc.demarches-simplifiees.fr/nouveautes"
faq:
label: "FAQ"
@ -59,33 +60,33 @@ en:
url: "https:///faq.demarches-simplifiees.fr/collection/1-administrateur-creation-dun-formulaire"
mentions_legales:
label: "Legal notices"
title: "Legal notices"
title: "Legal notices regarding our platform"
url: "https://doc.demarches-simplifiees.fr/mentions-legales"
newsletter:
label: "Newsletter"
title: "Notre newsletter"
title: "Our newsletter"
url: "https://my.sendinblue.com/users/subscribe/js_id/3s2q1/id/1"
releases:
label: "Releases"
title: "Releases"
title: "Our last updates"
url: "https://github.com/betagouv/demarches-simplifiees.fr/releases"
security:
label: "Security"
title: "Security"
title: "Security policy"
url: "https://github.com/betagouv/demarches-simplifiees.fr/blob/main/SECURITY.md"
stats:
label: "Statistics"
title: "Statistics"
title: "Statistics about demarches-simplifiees"
status_page:
label: "Disponibility"
title: "Disponibility"
title: "Disponibility and availability"
url: "https://status.demarches-simplifiees.fr"
suivi:
label: "Audience tracking and privacy"
title: "Audience tracking and privacy"
title: "Tracking and privacy of demarches-simplifiees"
webinaire:
label: "Online workshop registration"
title: "Online workshop registration"
title: "Registration for our online workshop"
url: "https://app.livestorm.co/demarches-simplifiees"
solidarite_numerique:
label: "Do you need assistance with your digital file?"

View file

@ -11,9 +11,10 @@ fr:
title: "Direction Interministérielle au Numérique"
url: "https://numerique.gouv.fr"
footer:
nav_aria: "En savoir plus sur %{application_name}"
accessibilite:
label: "Accessibilité : partiellement conforme"
title: "Accessibilité : partiellement conforme"
title: "Consulter notre déclaration d'accessibilité"
url: "https://doc.demarches-simplifiees.fr/declaration-daccessibilite"
aide:
label: "Aide"
@ -21,7 +22,7 @@ fr:
url: "https://faq.demarches-simplifiees.fr"
api_doc:
label: "Documentation de l'API"
title: "Documentation de l'API"
title: "Documentation graphql de l'API"
url: "https://doc.demarches-simplifiees.fr/pour-aller-plus-loin/graphql"
betagouv:
label: "Beta.gouv.fr"
@ -33,21 +34,21 @@ fr:
url: "https://doc.demarches-simplifiees.fr/cgu"
code:
label: "Code source"
title: "Code source"
title: "Le code ouvert de demarches-simplifiees"
url: "https://github.com/betagouv/demarches-simplifiees.fr"
contact:
label: "Contact"
title: "Contact"
title: "Nous contacter"
contact_technique:
label: "Contact technique"
title: "Contact technique"
title: "Contacter notre équipe technique"
doc:
label: "Documentation"
title: "Documentation"
title: "Documentation utilisateur"
url: "https://doc.demarches-simplifiees.fr"
doc_nouveautes:
label: "Nouveautés"
title: "Nouveautés"
title: "Les dernière nouveautés"
url: "https://doc.demarches-simplifiees.fr/nouveautes"
faq:
label: "FAQ"
@ -59,30 +60,30 @@ fr:
url: "https:///faq.demarches-simplifiees.fr/collection/1-administrateur-creation-dun-formulaire"
mentions_legales:
label: "Mentions légales"
title: "Mentions légales"
title: "Consulter nos Mentions légales"
url: "https://doc.demarches-simplifiees.fr/mentions-legales"
newsletter:
label: "Newsletter"
title: "Notre newsletter"
label: "Infolettres"
title: "S'abonner a notre infolettre"
url: "https://my.sendinblue.com/users/subscribe/js_id/3s2q1/id/1"
releases:
label: "Nouveautés"
title: "Nos nouveautés"
title: "Les dernière mises à jour de la plateforme"
url: "https://github.com/betagouv/demarches-simplifiees.fr/releases"
security:
label: "Sécurité"
title: "Sécurité"
title: "Vous avez identifié une faille, comment nous en informer"
url: "https://github.com/betagouv/demarches-simplifiees.fr/blob/main/SECURITY.md"
stats:
label: "Statistiques"
title: "Statistiques"
title: "Statistiques d'usage"
status_page:
label: "Disponibilité"
title: "Disponibilité"
title: "Disponibilité du site demarches-simplifiees"
url: "https://status.demarches-simplifiees.fr"
suivi:
label: "Suivi d'audience et vie privée"
title: "Suivi d'audience et vie privée"
title: "Consulter notre politique de respect de la vie privée"
webinaire:
label: "Inscription ateliers en ligne"
title: "Inscription ateliers en ligne"

View file

@ -1,6 +1,7 @@
en:
users:
procedure_footer:
aria_label: "Know more about %{procedure_name}"
managed_by:
header: 'This procedure is managed by :'
contact:

View file

@ -1,6 +1,7 @@
fr:
users:
procedure_footer:
aria_label: "En savoir plus sur %{procedure_name}"
managed_by:
header: 'Cette démarche est gérée par :'
contact: