w3c / w3c/csswg-drafts

[fill-stroke] Proper "fill" property value definition to replace "<'background'> with modifications"?

Open
#7,285 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

fill-stroke-3
Dominant language
Bikeshed
Stars
4.9k
Forks
816
PR merge metrics
PR metrics pending

Description

The value of the fill property is currently defined as "<'background'> with modifications". On top of not describing the actual modifications, in all other property definitions, this value needs to be interpreted with the value definition syntax, and a literal interpretation would consider that with and modifications are keywords, not regular spec prose, in other words that one should expect values that include "with modifications", as in:

div {
  fill: #F00 with modifications;
}

Could the spec define the value more precisely with actual grammar? Looking at the definition of <'background'>, I suppose the intent is to transpose it to the different fill painting properties. Trying to run that exercise, I wonder whether the property value could rather be defined as [<fill-layer># ,]? <final-fill-layer> with the following definitions:

<fill-layer> = <paint> || <position> [ / <bg-size> ]? || <repeat-style> || <attachment> || <box> || <box>
<final-fill-layer> =  <'fill'> || <paint> || <position> [ / <bg-size> ]? || <repeat-style> || <attachment> || <box> || <box>

(via https://github.com/w3c/webref/issues/127#issuecomment-1129954792)

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 fill shorthand definition in the CSS Fill and Stroke specification and compare it with the referenced background value definition and CSS value definition syntax. Review the proposed fill-layer and final-fill-layer grammar, then confirm that the specification defines the intended values without treating prose as keywords.

Written by the indexing model from the issue text.

Assessment

Tech stack
css
Domain
documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.