Problem/Motivation

The Nominatim autocomplete (js/provider/nominatim-provider.js) builds a suggestions dropdown but does not implement the ARIA combobox pattern. As a result, screen reader users receive no indication that suggestions exist, cannot navigate them, and do not know which suggestion is active.

Specifically:

  • The has no role="combobox", aria-expanded, aria-autocomplete, or aria-controls attributes
  • The suggestions
      has no role="listbox"
  • Each suggestion
  • has no role="option" or id
  • No aria-activedescendant is set on the input when navigating with arrow keys

This fails WCAG 2.1 success criteria 1.3.1 (Info and Relationships) and 4.1.2 (Name, Role, Value)

Steps to reproduce

  1. Enable the module and add an EPS element to a webform with the Nominatim provider
  2. Navigate to the form with a screen reader (NVDA + Firefox or VoiceOver + Safari)
  3. Focus the search input and type at least 2 characters
  4. Observe: the screen reader does not announce that suggestions appeared, and arrow key navigation is silent

Proposed resolution

Apply the ARIA combobox pattern (ARIA 1.2 combobox with listbox popup) to the Nominatim provider

Remaining tasks

  • Apply the same fix to js/provider/google-places-provider.js (Google Places uses the browser's native autocomplete widget, which may already handle ARIA — needs verification)
  • Manual test with NVDA + Firefox and VoiceOver + Safari

Issue fork eps-3593634

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

gwenweb created an issue. See original summary.

gilles_webstanz made their first commit to this issue’s fork.

gilles_webstanz’s picture

Status: Active » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.