web-platform-tests / web-platform-tests/interop

HTML `<datalist>`

Open
#1,402 0 comments 23 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

investigation-effort-proposal
Dominant language
JavaScript
Stars
524
Forks
35
Avg merge
1d 4h
Merged PRs (30d)
10

Description

Description

As the web's native combobox, <input list> combined with <datalist> behaves inconsistently across browser engines and platforms. All modern browsers implement <datalist>, minus a few areas of support on Firefox, but vary in styling and behavior.

The proposed scope for this investigation:

  • Popup rendering
    • Styling and positioning consistency
    • Desktop and mobile keyboard-suggestions displays
  • Filtering behavior
    • How options are filtered against value
    • Case matching differences
  • Display consistency when <option> text and value differ
  • Affordance styling (the popup indicator icon)
    • Does this follow same convention of <select>?
  • Browser engine consistency
    • Working as more than a text box
    • Options availability in landscape mode
    • Mobile landscape behavior
  • A11y - roles and names as exposed to screen readers, keyboard navigation, escape behavior, and voice-control
  • A11y - Page Zoom and text styling in popup
  • A11y - AT inconsistencies
Rationale

Many of the identified issues are listed in Adrian Roselli's "Under-Engineered Comboboxen".

Web developer usage from State of HTML survey is very low year after year

APG provides custom combobox patterns as a good informative pattern but shouldn't be treated as normative. Extending these patterns can and does introduce new a11y issues.

Investigation Roadmap
Specification

https://html.spec.whatwg.org/multipage/form-elements.html#the-datalist-element

Web platform

https://web-platform-dx.github.io/web-features-explorer/features/datalist/
https://wpt.fyi/results/html/semantics/forms/the-datalist-element/datalistoptions.html?label=experimental&label=master&aligned&q=datalist

Test links

https://github.com/web-platform-tests/wpt/tree/master/html/semantics/forms/the-datalist-element

Adoption of <datalist> is low, according to Chrome Platform Status.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the HTML specification's datalist section and the WPT tests under html/semantics/forms/the-datalist-element, especially datalistoptions.html. Compare the documented behavior with the wpt.fyi results and the browser/platform areas listed in the investigation scope; done requires a focused set of findings or test gaps rather than a single code change.

Written by the indexing model from the issue text.

Assessment

Tech stack
html
Domain
accessibility, testing-qa, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.