diff --git a/app/views/layouts/_footer.html.haml b/app/views/layouts/_footer.html.haml deleted file mode 100644 index 4b36a2aad..000000000 --- a/app/views/layouts/_footer.html.haml +++ /dev/null @@ -1,16 +0,0 @@ -#footer - %p{ class: "copyright col-md-push-#{12-main_container_size} col-md-#{main_container_size} col-lg-push-#{12-main_container_size} col-lg-#{main_container_size} text-muted small" } - = link_to t("links.provider.name"), t("links.provider.url") - = Time.zone.now.year - \- - = link_to t("links.footer.doc_nouveautes.label"), t("links.footer.doc_nouveautes.url"), title: t("links.footer.doc_nouveautes.title"), target: '_blank' - \- - = link_to t("links.footer.stats.label"), stats_path - \- - = link_to "#{t("links.footer.cgu.label")} / #{t("links.footer.mentions_legales.label")}", t("links.footer.cgu.url"), title: t("links.footer.cgu.title"), target: '_blank' - \- - = link_to t("links.footer.doc.label"), t("links.footer.doc.url"), title: t("links.footer.doc.title"), target: '_blank' - \- - = link_to t("links.footer.faq_admin.label"), t("links.footer.faq_admin.url"), title: t("links.footer.faq_admin.title"), target: '_blank' - \- - = link_to t("links.footer.webinaire.label"), t("links.footer.webinaire.url"), title: t("links.footer.webinaire.title"), target: '_blank' diff --git a/app/views/root/landing.html.haml b/app/views/root/landing.html.haml index 046ab933e..66bc39684 100644 --- a/app/views/root/landing.html.haml +++ b/app/views/root/landing.html.haml @@ -1,5 +1,6 @@ - content_for :footer do = render partial: "root/footer" +- content_for :title, t(".promise") .landing .landing-panel.hero-panel @@ -7,11 +8,7 @@ .hero-wrapper .hero-text %h1.hero-tagline - %em.hero-tagline-em Effectuer - %br<> - %em.hero-tagline-em une démarche administrative - %br<> - %em.hero-tagline-em en ligne + = simple_format(t(".promise"), { class: "hero-tagline-em" }, wrapper_tag: "em") .hero-illustration %img{ :src => image_url("landing/hero/dematerialiser.svg"), alt: '', width: 499, height: 280, loading: 'lazy' } @@ -23,47 +20,38 @@ %img.role-image{ :src => image_url("landing/roles/usagers.svg"), alt: '', width: 176, height: 180, loading: 'lazy' } .role-panel-70 - %h2 Vous souhaitez effectuer une demande auprès d’une administration ? - %p.fr-h5 Réalisez vos demandes en toute simplicité et retrouvez vos dossiers en ligne + %h2= t(".have_a_procedure") + %p.fr-h5= t(".fill_procedure") - = link_to "Comment trouver ma démarche ?", COMMENT_TROUVER_MA_DEMARCHE_URL, class: "fr-btn fr-btn--lg fr-mr-1w fr-mb-2w", title: new_tab_suffix("Comment trouver ma démarche ?"), **external_link_attributes - = link_to "Se connecter", new_user_session_path, class: "fr-btn fr-btn--secondary fr-btn--lg" + = link_to t(".how_to_find_procedure"), COMMENT_TROUVER_MA_DEMARCHE_URL, class: "fr-btn fr-btn--lg fr-mr-1w fr-mb-2w", title: new_tab_suffix(t(".how_to_find_procedure")), **external_link_attributes + = link_to t("views.users.sessions.new.connection"), new_user_session_path, class: "fr-btn fr-btn--secondary fr-btn--lg" - cache "numbers-panel", :expires_in => 3.hours do .landing-panel .container - %h2.center.fr-mb-4w #{APPLICATION_NAME} en chiffres + %h2.center.fr-mb-4w= t(".our_numbers", name: APPLICATION_NAME) %ul.numbers %li.number .number-value - = number_with_delimiter(@stat&.administrations_partenaires, :locale => :fr) - .number-label< - administrations - %br<> - partenaires + = number_with_delimiter(@stat&.administrations_partenaires) + = simple_format(t(".numbers.administrations"), { class: "number-label" }, wrapper_tag: "div") %li.number .number-value - = number_with_delimiter(@stat&.dossiers_not_brouillon, :locale => :fr) - .number-label< - dossiers - %br<> - déposés + = number_with_delimiter(@stat&.dossiers_not_brouillon) + = simple_format(t(".numbers.files"), { class: "number-label" }, wrapper_tag: "div") %li.number .number-value - = "#{number_with_delimiter(50, :locale => :fr)} %" - .number-label< - de réduction - %br<> - des délais de traitement + = "#{number_with_delimiter(50)} %" + = simple_format(t(".numbers.processing_time"), { class: "number-label" }, wrapper_tag: "div") .landing-panel.cta-panel .container .cta-panel-wrapper %div - %h2.cta-panel-title Une question, un problème ? - %p.cta-panel-explanation La réponse est dans l’aide en ligne + %h2.cta-panel-title= t(".question") + %p.cta-panel-explanation= t(".answer_in_faq") %div - = link_to "Accéder à l’aide en ligne", FAQ_URL, class: "fr-btn fr-btn--lg", title: new_tab_suffix("Accéder à l’aide en ligne"), **external_link_attributes + = link_to t(".online_help"), FAQ_URL, class: "fr-btn fr-btn--lg", title: new_tab_suffix(t(".online_help")), **external_link_attributes -# We temporarily disable the link to the contact page on the homepage -# %p.cta-panel-explanation Notre équipe est disponible pour vous renseigner et vous aider -# %div @@ -77,7 +65,7 @@ .container .cta-panel-wrapper %div - %h2.fr-h4 Administration : vous voulez dématerialiser ? - %p.cta-panel-explanation.grey Proposez à vos usagers de remplir leurs dossiers en ligne + %h2.fr-h4= t(".administration_dematerialize") + %p.cta-panel-explanation.grey= t(".administration_fill_online") %div - = link_to "Découvrez notre outil", administration_path, class: "fr-btn fr-btn--lg" + = link_to t(".administration_discover"), administration_path, class: "fr-btn fr-btn--lg" diff --git a/app/views/shared/_footer_copy.html.haml b/app/views/shared/_footer_copy.html.haml index 1262276c8..86dc24fcb 100644 --- a/app/views/shared/_footer_copy.html.haml +++ b/app/views/shared/_footer_copy.html.haml @@ -1,4 +1,2 @@ .fr-footer__bottom-copy - %p - Sauf mention contraire, tous les contenus de ce site sont sous - %a{ href: "https://github.com/etalab/licence-ouverte/blob/master/LO.md", target:"_blank", rel: "noopener", title: new_tab_suffix("licence etalab-2.0") } licence etalab-2.0 + %p= t("links.footer.copy_html", link: link_to(t("links.footer.license"), "https://github.com/etalab/licence-ouverte/blob/master/LO.md", title: new_tab_suffix("licence etalab-2.0"), **external_link_attributes)) diff --git a/app/views/users/_general_footer_row.html.haml b/app/views/users/_general_footer_row.html.haml index d41ff961d..e728a1b27 100644 --- a/app/views/users/_general_footer_row.html.haml +++ b/app/views/users/_general_footer_row.html.haml @@ -4,4 +4,4 @@ %li.fr-footer__bottom-item = link_to t("links.footer.mentions_legales.label"), t("links.footer.mentions_legales.url"), title: t("links.footer.mentions_legales.title"), class: "fr-footer__bottom-link", rel: "noopener noreferrer" %li.fr-footer__bottom-item - = link_to t("links.footer.cookies.title"), suivi_path, title: t("links.footer.aide.title"), class: "fr-footer__bottom-link" + = link_to t("links.footer.cookies.label"), suivi_path, title: t("links.footer.cookies.title"), class: "fr-footer__bottom-link" diff --git a/app/views/users/_procedure_footer.html.haml b/app/views/users/_procedure_footer.html.haml index 4030225fe..b12929bb1 100644 --- a/app/views/users/_procedure_footer.html.haml +++ b/app/views/users/_procedure_footer.html.haml @@ -56,7 +56,7 @@ .fr-container .fr-footer__body .fr-footer__brand.fr-enlarge-link - = link_to t("links.provider.url"), title: t("links.provider.title"), 'aria-label': t("links.provider.name") do + = link_to t("links.provider.url"), title: t("links.provider.title") do %p.fr-logo premier %br @@ -66,9 +66,10 @@ .fr-footer__content %p.fr-footer__content-desc = I18n.t('users.procedure_footer.managed_by.header') - = "#{service.nom}," - = "#{service.organisme}," - = string_to_html(service.adresse, wrapper_tag = 'span') + %span{ lang: :fr } + = "#{service.nom}," + = "#{service.organisme}," + = string_to_html(service.adresse, 'span') = render partial: "shared/footer_content_list" .fr-footer__bottom diff --git a/app/views/users/dossiers/brouillon.html.haml b/app/views/users/dossiers/brouillon.html.haml index 4b0f2ca7e..9bdaeac89 100644 --- a/app/views/users/dossiers/brouillon.html.haml +++ b/app/views/users/dossiers/brouillon.html.haml @@ -1,5 +1,5 @@ - content_for(:root_class, 'scroll-margins-for-sticky-footer') -- content_for(:title, "Modification du brouillon nº #{@dossier.id} (#{@dossier.procedure.libelle})") +- content_for(:title, t(".title", scope: :metas, number: @dossier.id.to_s, procedure_label: @dossier.procedure.libelle)) - content_for :footer do = render partial: "users/procedure_footer", locals: { procedure: @dossier.procedure, dossier: @dossier } diff --git a/app/views/users/dossiers/demande.html.haml b/app/views/users/dossiers/demande.html.haml index 8a1991d43..85df37c4d 100644 --- a/app/views/users/dossiers/demande.html.haml +++ b/app/views/users/dossiers/demande.html.haml @@ -1,4 +1,4 @@ -- content_for(:title, "Demande · Dossier nº#{@dossier.id} (#{@dossier.procedure.libelle})") +- content_for(:title, t(".title", scope: :metas, number: @dossier.id.to_s, procedure_label: @dossier.procedure.libelle)) - content_for :footer do = render partial: "users/procedure_footer", locals: { procedure: @dossier.procedure, dossier: @dossier } diff --git a/app/views/users/dossiers/index.html.haml b/app/views/users/dossiers/index.html.haml index 577625690..6535afa30 100644 --- a/app/views/users/dossiers/index.html.haml +++ b/app/views/users/dossiers/index.html.haml @@ -1,7 +1,7 @@ - if @search_terms.present? - - content_for(:title, "Recherche : #{@search_terms}") + - content_for(:title, t(".title_search", scope: :metas, terms: @search_terms)) - else - - content_for(:title, "Dossiers") + - content_for(:title, t(".title", scope: :metas)) - content_for :footer do = render partial: "users/dossiers/index_footer" diff --git a/app/views/users/dossiers/merci.html.haml b/app/views/users/dossiers/merci.html.haml index 063ce5a4e..5ade30d1c 100644 --- a/app/views/users/dossiers/merci.html.haml +++ b/app/views/users/dossiers/merci.html.haml @@ -1,4 +1,4 @@ -- content_for(:title, "Dossier bien envoyé (#{@dossier.procedure.libelle})") +- content_for(:title, t(".title", scope: :metas, procedure_label: @dossier.procedure.libelle)) - content_for :footer do = render partial: "users/procedure_footer", locals: { procedure: @dossier.procedure, dossier: @dossier } diff --git a/app/views/users/dossiers/messagerie.html.haml b/app/views/users/dossiers/messagerie.html.haml index fc0cd2b5b..982b23c65 100644 --- a/app/views/users/dossiers/messagerie.html.haml +++ b/app/views/users/dossiers/messagerie.html.haml @@ -1,4 +1,4 @@ -- content_for(:title, "Messagerie · Dossier nº #{@dossier.id} (#{@dossier.procedure.libelle})") +- content_for(:title, t(".title", scope: :metas, number: @dossier.id.to_s, procedure_label: @dossier.procedure.libelle)) - content_for :footer do = render partial: "users/procedure_footer", locals: { procedure: @dossier.procedure, dossier: @dossier } diff --git a/app/views/users/dossiers/show.html.haml b/app/views/users/dossiers/show.html.haml index 71b2e722d..d250a79be 100644 --- a/app/views/users/dossiers/show.html.haml +++ b/app/views/users/dossiers/show.html.haml @@ -1,4 +1,4 @@ -- content_for(:title, "Résumé · Dossier nº #{@dossier.id} (#{@dossier.procedure.libelle})") +- content_for(:title, t(".title", scope: :metas, number: @dossier.id.to_s, procedure_label: @dossier.procedure.libelle)) - content_for :footer do = render partial: "users/procedure_footer", locals: { procedure: @dossier.procedure, dossier: @dossier } diff --git a/app/views/users/dossiers/show/_header.html.haml b/app/views/users/dossiers/show/_header.html.haml index c81d6b549..602354561 100644 --- a/app/views/users/dossiers/show/_header.html.haml +++ b/app/views/users/dossiers/show/_header.html.haml @@ -18,8 +18,8 @@ .header-actions = render partial: 'invites/dropdown', locals: { dossier: dossier } - if dossier.can_be_updated_by_user? && !current_page?(modifier_dossier_path(dossier)) - = link_to t('views.users.dossiers.show.header.edit_dossier'), modifier_dossier_path(dossier), class: 'button accepted edit-form', 'title'=> "Vous pouvez modifier votre dossier tant qu'il n'est passé en instruction", - aria: { label: "Modifier mon dossier - Vous pouvez modifier votre dossier tant qu'il n'est passé en instruction" } + = link_to t('views.users.dossiers.show.header.edit_dossier'), modifier_dossier_path(dossier), class: 'button accepted edit-form', + title: { label: t('views.users.dossiers.show.header.edit_dossier_title') } = render(partial: 'users/dossiers/show/print_dossier', locals: { dossier: dossier }) %nav.tabs diff --git a/config/locales/en.yml b/config/locales/en.yml index 6fdaedfc2..e2eb93957 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -218,6 +218,7 @@ en: show: header: edit_dossier: Edit my file + edit_dossier_title: "Edit my file - You can modify your file as long as it has not been sent for processing" summary: "Summary" request: "Request" mailbox: "Mailbox" diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 5754e46d7..8375fd306 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -214,6 +214,7 @@ fr: show: header: edit_dossier: Modifier mon dossier + edit_dossier_title: "Modifier mon dossier - Vous pouvez modifier votre dossier tant qu’il n’est passé en instruction" summary: "Résumé" request: "Demande" mailbox: "Messagerie" diff --git a/config/locales/links.en.yml b/config/locales/links.en.yml index 44ef012c0..115acae74 100644 --- a/config/locales/links.en.yml +++ b/config/locales/links.en.yml @@ -1,7 +1,6 @@ en: links: provider: - name: "DINUM" provided_by: "la DINUM" title: "Direction Interministérielle au Numérique" url: "https://numerique.gouv.fr" @@ -16,12 +15,12 @@ en: link_1_url: "https://www.numerique.gouv.fr/dinum/" link_2_label: The source code description_2: is available under a free license. + copy_html: "Unless otherwise stated, all content on this site is %{link}" + license: "licensed under etalab 2.0" accessibilite: label: "Accessibility: partially compliant" title: "Accessibility declaration" url: "https://doc.demarches-simplifiees.fr/declaration-daccessibilite" - aide: - title: "Frequently Asked Questions" api_doc: label: "API Documentation" title: "API Documentation" @@ -32,7 +31,7 @@ en: code: label: "Source code" title: "Our Source code is open source" - url: "https://github.com/betagouv/demarches-simplifiees.fr" + url: "https://github.com/demarches-simplifiees/demarches-simplifiees.fr" cgu: label: "ToS" title: "Terms of Service" @@ -41,26 +40,18 @@ en: label: "Documentation" title: "Our Documentation" url: "https://doc.demarches-simplifiees.fr" - doc_nouveautes: - label: "News" - title: "Our latest News" - url: "https://doc.demarches-simplifiees.fr/nouveautes" faq: label: "FAQ" title: "Frequently Asked Questions" url: "https://faq.demarches-simplifiees.fr" - faq_admin: - label: "FAQ" - title: "Frequently Asked Questions" - url: "https:///faq.demarches-simplifiees.fr/collection/1-administrateur-creation-dun-formulaire" mentions_legales: label: "Legal notices" title: "Legal notices regarding our platform" url: "https://doc.demarches-simplifiees.fr/mentions-legales" releases: - label: "Releases" + label: "Releases notes" title: "Our last updates" - url: "https://github.com/betagouv/demarches-simplifiees.fr/releases" + url: "https://github.com/demarches-simplifiees/demarches-simplifiees.fr/releases" security: label: "Security" title: "Security policy" @@ -72,10 +63,9 @@ en: suivi: label: "Audience tracking and privacy" title: "Tracking and privacy of demarches-simplifiees" - webinaire: - label: "Online workshop registration" - title: "Registration for our online workshop" - url: "https://app.livestorm.co/demarches-simplifiees" + cookies: + label: Cookies + title: Cookies contact: - label: Contactez-nous - title: Contactez-nous + label: Contact + title: Contact diff --git a/config/locales/links.fr.yml b/config/locales/links.fr.yml index 7c619d125..b827c5300 100644 --- a/config/locales/links.fr.yml +++ b/config/locales/links.fr.yml @@ -1,7 +1,6 @@ fr: links: provider: - name: "DINUM" provided_by: "la DINUM" title: "Direction Interministérielle au Numérique" url: "https://numerique.gouv.fr" @@ -16,14 +15,12 @@ fr: link_1_url: "https://www.numerique.gouv.fr/dinum/" link_2_label: Le code source description_2: est disponible en licence libre. + copy_html: "Sauf mention contraire, tous les contenus de ce site sont sous %{link}" + license: "licence etalab 2.0" accessibilite: label: "Accessibilité : partiellement conforme" title: "Consulter notre déclaration d’accessibilité" url: "https://doc.demarches-simplifiees.fr/declaration-daccessibilite" - aide: - label: "Aide" - title: "Foire aux Questions" - url: "https://faq.demarches-simplifiees.fr" api_doc: label: "Documentation de l’API" title: "Documentation graphql de l’API" @@ -38,7 +35,7 @@ fr: code: label: "Code source" title: "Le code ouvert de demarches-simplifiees" - url: "https://github.com/betagouv/demarches-simplifiees.fr" + url: "https://github.com/demarches-simplifiees/demarches-simplifiees.fr" contact_technique: label: "Contact technique" title: "Contacter notre équipe technique" @@ -46,18 +43,10 @@ fr: label: "Documentation" title: "Documentation utilisateur" url: "https://doc.demarches-simplifiees.fr" - doc_nouveautes: - label: "Nouveautés" - title: "Les dernière nouveautés" - url: "https://doc.demarches-simplifiees.fr/nouveautes" faq: label: "FAQ" title: "Foire aux Questions" url: "https://faq.demarches-simplifiees.fr" - faq_admin: - label: "FAQ" - title: "Foire aux Questions" - url: "https:///faq.demarches-simplifiees.fr/collection/1-administrateur-creation-dun-formulaire" mentions_legales: label: "Mentions légales" title: "Consulter nos Mentions légales" @@ -65,7 +54,7 @@ fr: releases: label: "Nouveautés" title: "Les dernière mises à jour de la plateforme" - url: "https://github.com/betagouv/demarches-simplifiees.fr/releases" + url: "https://github.com/demarches-simplifiees/demarches-simplifiees.fr/releases" security: label: "Sécurité" title: "Vous avez identifié une faille, comment nous en informer" @@ -80,10 +69,6 @@ fr: suivi: label: "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" - url: "https://app.livestorm.co/demarches-simplifiees" solidarite_numerique: label: "Besoin d’aide avec vos démarches en ligne ?" title: "Avez-vous besoin d’aide concernant vos démarchez informatisées, essayez solidarite-numerique.fr" diff --git a/config/locales/metas.en.yml b/config/locales/metas.en.yml index 0d8e22bae..adb3709cb 100644 --- a/config/locales/metas.en.yml +++ b/config/locales/metas.en.yml @@ -2,3 +2,18 @@ en: metas: signin: title: "Sign-in" + users: + dossiers: + index: + title: Files + title_search: "Search: %{terms}" + show: + title: "Summary · File nº %{number} (%{procedure_label})" + demande: + title: "Application · File nº %{number} (%{procedure_label})" + messagerie: + title: "Mailbox · File nº %{number} (%{procedure_label})" + brouillon: + title: "Modification of draft nº %{number} (%{procedure_label})" + merci: + title: "File submitted (%{procedure_label})" diff --git a/config/locales/metas.fr.yml b/config/locales/metas.fr.yml index 732ba7c51..c7ae048eb 100644 --- a/config/locales/metas.fr.yml +++ b/config/locales/metas.fr.yml @@ -2,3 +2,18 @@ fr: metas: signin: title: "Se connecter" + users: + dossiers: + index: + title: Dossiers + title_search: "Recherche : %{terms}" + show: + title: "Résumé · Dossier nº %{number} (%{procedure_label})" + demande: + title: "Demande · Dossier nº %{number} (%{procedure_label})" + messagerie: + title: "Messagerie · Dossier nº %{number} (%{procedure_label})" + brouillon: + title: "Modification du brouillon nº %{number} (%{procedure_label})" + merci: + title: "Dossier envoyé (%{procedure_label})" diff --git a/config/locales/views/root.en.yml b/config/locales/views/root.en.yml new file mode 100644 index 000000000..d7cee35be --- /dev/null +++ b/config/locales/views/root.en.yml @@ -0,0 +1,28 @@ +--- +en: + root: + landing: + promise: | + Carry out + an administrative procedure + online + have_a_procedure: You wish to make a request to an administration? + fill_procedure: Make your requests easily and find your files online + how_to_find_procedure: How do I find my procedure? + our_numbers: "%{name} in numbers" + numbers: + administrations: | + partner + administrations + files: | + files + submitted + processing_time: | + reduction + in processing time + question: A question, a problem? + answer_in_faq: The answer is in the online help + online_help: Access the online help + administration_dematerialize: "Administration: do you want to go paperless?" + administration_fill_online: Offer your users the possibility to fill in their files online + administration_discover: Find out more about our tool diff --git a/config/locales/views/root.fr.yml b/config/locales/views/root.fr.yml new file mode 100644 index 000000000..95842834b --- /dev/null +++ b/config/locales/views/root.fr.yml @@ -0,0 +1,28 @@ +--- +fr: + root: + landing: + promise: | + Effectuer + une démarche administrative + en ligne + have_a_procedure: Vous souhaitez effectuer une demande auprès d’une administration ? + fill_procedure: Réalisez vos demandes en toute simplicité et retrouvez vos dossiers en ligne + how_to_find_procedure: Comment trouver ma démarche ? + our_numbers: "%{name} en chiffres" + numbers: + administrations: | + administrations + partenaires + files: | + dossiers + déposés + processing_time: | + de réduction + des délais de traitement + question: Une question, un problème ? + answer_in_faq: La réponse est dans l’aide en ligne + online_help: Accéder à l’aide en ligne + administration_dematerialize: "Administration : vous voulez dématerialiser ?" + administration_fill_online: Proposez à vos usagers de remplir leurs dossiers en ligne + administration_discover: Découvrez notre outil diff --git a/config/locales/views/users/procedure_footer/en.yml b/config/locales/views/users/procedure_footer/en.yml index 755e7cb80..6346b689d 100644 --- a/config/locales/views/users/procedure_footer/en.yml +++ b/config/locales/views/users/procedure_footer/en.yml @@ -8,7 +8,7 @@ en: in_app_mail: link: "Direclty via the chat" email: - link: "Direcly by email %{service_email}" + link: "Directly by email %{service_email}" phone: link: 'By phone %{service_telephone}' schedule: @@ -20,3 +20,8 @@ en: data_retention: "%{application_name} : %{duree_conservation_dossiers_dans_ds} months" terms: "Laws regarding this data collection" dpo: "Contact the Data Protection Officer" + dematerialisation: + header: Paperless + title_1: Access to the printable PDF form + title_2: Online administrative procedures + link: "https://www.solidarite-numerique.fr/cartographie/" diff --git a/config/locales/views/users/procedure_footer/fr.yml b/config/locales/views/users/procedure_footer/fr.yml index 0eb259ef3..e0fd5a526 100644 --- a/config/locales/views/users/procedure_footer/fr.yml +++ b/config/locales/views/users/procedure_footer/fr.yml @@ -35,7 +35,7 @@ fr: title: data.gouv.fr url: "https://data.gouv.fr" dematerialisation: - header: Dematérialisation + header: Dématérialisation title_1: Accès au formulaire PDF à imprimer title_2: Les démarches administratives en ligne link: "https://www.solidarite-numerique.fr/cartographie/" diff --git a/spec/system/accessibilite/wcag_usager_spec.rb b/spec/system/accessibilite/wcag_usager_spec.rb index f7aed7373..90e935197 100644 --- a/spec/system/accessibilite/wcag_usager_spec.rb +++ b/spec/system/accessibilite/wcag_usager_spec.rb @@ -18,6 +18,15 @@ describe 'wcag rules for usager', js: true do end end + shared_examples "aria-label do not mix with title attribute" do + it do + elements = page.all("[aria-label][title]") + elements.each do |element| + expect(element[:title]).to be_blank, "path=#{path}, element title=\"#{element[:title]}\" mixes aria-label and title attributes" + end + end + end + context 'pages without the need to be logged in' do before do visit path @@ -27,12 +36,14 @@ describe 'wcag rules for usager', js: true do let(:path) { root_path } it { expect(page).to be_axe_clean } it_behaves_like "external links have title says it opens in a new tab" + it_behaves_like "aria-label do not mix with title attribute" end context 'sign_up page' do let(:path) { new_user_registration_path } it { expect(page).to be_axe_clean } it_behaves_like "external links have title says it opens in a new tab" + it_behaves_like "aria-label do not mix with title attribute" end scenario 'account confirmation page' do @@ -51,24 +62,28 @@ describe 'wcag rules for usager', js: true do let(:path) { user_confirmation_path("user[email]" => "some@email.com") } it_behaves_like "external links have title says it opens in a new tab" + it_behaves_like "aria-label do not mix with title attribute" end context 'sign_in page' do let(:path) { new_user_session_path } it { expect(page).to be_axe_clean.excluding '#user_email' } it_behaves_like "external links have title says it opens in a new tab" + it_behaves_like "aria-label do not mix with title attribute" end context 'contact page' do let(:path) { contact_path } it { expect(page).to be_axe_clean } it_behaves_like "external links have title says it opens in a new tab" + it_behaves_like "aria-label do not mix with title attribute" end context 'commencer page' do let(:path) { commencer_path(path: procedure.path) } it { expect(page).to be_axe_clean } it_behaves_like "external links have title says it opens in a new tab" + it_behaves_like "aria-label do not mix with title attribute" end scenario 'commencer page, help dropdown' do