betagouv / rdv-service-public

Prise de RDV pour les services publics
https://rdv.anct.gouv.fr
GNU Affero General Public License v3.0
18 stars 3 forks source link

Le multiselect `select2` n'est pas accessible (interfaces agent) #4375

Open francois-ferrandis opened 4 months ago

francois-ferrandis commented 4 months ago

ℹ️ Contexte

La librairie JS que nous utilisons pour avoir des select avec filtre n'est pas accessible

Exemple : image

❓ Définition du problème

L'usage de cette librairie est un frein à l'accessibilité côté agent

💡 Solution envisagée

Des pistes :

🧪 Scénarios de test

  it "admin organisation users path is accessible" do
    territory = create(:territory, departement_number: "75")
    organisation = create(:organisation, territory: territory)
    create_list(:user, 3, organisations: [organisation])
    agent = create(:agent, email: "totoagent@example.com", basic_role_in_organisations: [organisation])
    login_as(agent, scope: :agent)

    path = admin_organisation_users_path(organisation)
    expect_page_to_be_axe_clean(path)
  end

  it "RDV list is accessible" do
    territory = create(:territory, departement_number: "75")
    organisation = create(:organisation, territory: territory)
    agent = create(:agent, email: "totoagent@example.com", basic_role_in_organisations: [organisation])
    login_as(agent, scope: :agent)
    create_list(:rdv, 3, agents: [agent])
    expect_page_to_be_axe_clean(admin_organisation_rdvs_path(organisation))
  end
francois-ferrandis commented 1 week ago

J'ai ajouté deux exemples intéressants :