Skip to content

Refactor siAutocomplete to use @angular/aria/combobox and @angular/aria/listbox #2569

Description

@chintankavathia

Background

siAutocomplete currently owns combobox/listbox relationships, active-option management, and
keyboard behavior that can be provided by Angular ARIA. The evaluation POC applies the
combobox and listbox primitives to the shared autocomplete implementation and its consumers,
including typeahead, si-select, and si-custom-select.

This migration has a wider impact than the other aria related refactoring tasks because changing the shared directives also affects components that compose them.

Related to #1070.

Implementation reference:
angular/aria/evaluation

Scope

  • Adopt @angular/aria/combobox in siAutocomplete and
    @angular/aria/listbox for its popup options.
  • Productionize the POC across all direct internal consumers, including typeahead, si-select,
    filtered si-select, and si-custom-select.
  • Audit other siAutocomplete consumers and update them in the same task.
  • Remove duplicate active-descendant, option-ID, and keyboard-manager logic that Angular ARIA
    now owns.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions