w3c / w3c/csswg-drafts

[css-forms-1] What does control-value() return for `<progress>` and `<meter>`?

Open
#12,367 6 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

css-forms-1
Dominant language
Bikeshed
Stars
4.9k
Forks
816
Avg merge
2d 18h
Merged PRs (30d)
24

Description

Currently, control-value() is defined to only return a value for a "form control" (which isn't defined). I'm assuming this should be more generic and work for at least the <progress> and presumably <meter> elements too?

If we assume that it does work, what does it return?

<progress value="25" max="50"> - given this element the value property in fact returns 25, but the position property returns 50 (which is the rendered progress of the control), Should control-value() match value proper, or position?

For <progress> doing that maths yourself is on the surface quite easy but there's various edge cases that the browsers IDL properties handle for you which it would be good to avoid needing to write JS or the logic in CSS.

For <meter> it's even more complicated by the addition of the min attribute into the mix (progress always has a minimum of 0).

Contributor guide

Open the contributing guide

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 control-value() definition in Overview.html, then review the referenced progress and meter elements and their value, position, max, and min attributes. Resolve whether the function applies to these elements and specify which normalized or raw value it should return, including the edge cases described in the issue; the definition should state the resulting behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
css, html
Domain
documentation, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.