- From: Daniel Holbert <dholbert@mozilla.com>
- Date: Wed, 25 Feb 2015 16:53:06 -0800
- To: www-style list <www-style@w3.org>
Hi www-style,
I'm re-reading the CSS Grid spec (after not looking at it for a while), and noticed some editorial nits (mostly typos & mis-targeted/missing hyperlinks). I figured I'd write to report them so they can be fixed.
Editor's draft URL, which I'm going off of:
http://dev.w3.org/csswg/css-grid/
(For convenience / tracking purposes, I've grouped the issues by section, and I labeled each spec-quote with a letter -- (A), (B), etc.)
Section 1.3:
------------
(A) # [...] when viewed either in landscape or portrait
# orientation (Figures 4 and 5)
s/"landscape and portrait"/"portrait and landscape"/, to match the ordering of the figures it's referring to. (Figure 4 is *portrait*, Figure 5 is *landscape*). (Also, the sample CSS below in "Example 2" right below this section has the "portrait" CSS first).
Example 3:
----------
(B) # * and track parts in this example. */
Typo: there's a (visible) extra space character after "parts" here.
Section 2.3:
------------
(C) # [...] a column or row that uses a contents-based
# relative size
I think this wants s/contents/content/ -- i.e. it wants to say "content-based". This is the only usage of the term "contents-based" in https://hg.csswg.org/drafts/ , whereas there are many usages of the term "content-based". (Alternately, if "contents-based" actually means something different from "content-based", it probably needs a definition.)
Section 3.1data
-----------
(D) # Grid containers form a containing block for their
# contents exactly like block containers do.
I think this is wrong -- at least, it conflicts with this earlier text from section 2.3 (which I'm assuming is correct): "A grid item’s grid area forms the containing block into which it is laid out." It also conflicts with this text from section 4: "A grid item is sized within the containing block defined by its grid area".
(E) # all of the column-* properties in the Multicol module
# have no effect on a grid container.
Nothing in this text is linkified right now. Something here should link to http://dev.w3.org/csswg/css-multicol/ (or the equivalent working draft).
(F) # the ::first-line and ::first-letter pseudo-elements
# do not apply to grid containers
"first-line" is linkified here, but "first-letter" is not. It should be.
(This might actually be a bug in css-pseudo-4 spec, which defines these selectors -- it looks like this same inconsistency happens all throughout that spec: http://dev.w3.org/csswg/css-pseudo-4/ )
(G) # The table in CSS 2.1 Chapter 9.7 is thus amended to
# contain an additional row, with 'inline-grid' in the
# "Specified Value" column and grid in the
# "Computed Value" column.
Two nits about the word "grid" here:
- The word "grid" here is currently linked to #grid, but it should actually be linked to #valdef-display-grid (since it's talking about the "display" value, not the general concept of a grid).
- Need to add single-quotes around 'grid', for consistency with 'inline-grid' earlier in this sentence. (This might happen automagically when it gets linked to #valdef-display-grid -- not sure.)
Section 4
---------
(H) # However, an anonymous grid item that contains
# only white space is not rendered, as if it were
# display:none.
Right now, the term "white space" here is linked to the "white-space" property definition:
http://www.w3.org/TR/CSS21/text.html#white-space-prop
This doesn't make sense, because this prose isn't talking about the white-space *property*. If this is linked to anything, it should be to a definition of what "white space" is. (what characters are considered to be white space) Later on, the spec mentions "whitespace" (as a single word) and links to http://dev.w3.org/csswg/css-syntax-3/#whitespace -- maybe that's what we should be doing here as well?
Section 5.1
-----------
(G) # Name: grid-template-columns, grid-template-rows
# [...]
# Computed value: As specified, except for auto (see prose)
I'm confused about the "except for auto" exclusion here. Does that need to be there? The prose for "auto" doesn't actually say anything about it *computing* to some other value -- rather, it says what "auto" is "identical to" or "represents" (and there's similar language for the other values). If "auto" actually needs to *compute* to some other value (and I'm not sure it should), then its prose needs to say that. Otherwise, the "except for auto" exclusion seems arbitrary & vague.
Section 5.1.3
-------------
(H) # Each column or row’s share of the free space # can be computed as the column or row’s
# <flex> * <free space> / <sum of all flex factors.
This is missing a ">" after "factors".
Section 5.1.4
-------------
(I) # If a grid container that is not a grid item uses the subgrid
# keyword, it grid-template-rows/grid-template-columns value
# is treated identically to none
Typo here -- "it" is out of place, in the phrase "it grid-template-rows". Maybe replace with "this" or "the"?
(J) # The subgrid’s own grid items participate in the
# sizing of its parent grid and are aligned to it.
# In this process, the sum of the item’s margin,
# padding, and borders are applied as an extra
# layer of margin to the items at those edges.
Clarification nit:
"the item's margin[...]" here is ambiguous, because there are two layers of items we're discussing. The subgrid is itself an item, and it has items (which are the items primarily being discussed here).
I think the spec is talking about the subgrid's margin/padding/border here, so perhaps s/item's/subgrid's/.
(K) # The subgrid is always stretched; the align-self/justify-self
# properties on it are ignored. Any specified width/height
# constraints are also ignored.
# [...] the align-content/justify-content properties on it
# are ignored.
This seems like an odd restriction, for subgrids that are only subgrids in one dimension. (e.g. "subgrid" only specified in grid-template-columns.) Shouldn't such a subgrid be able to use the alignment properties in the other (non-subgrid) dimension?
e.g. if a nested grid uses "subgrid" to defer to its parent on column sizing, then it makes sense that its horizontal alignment properties would be ignored -- but it's not clear why we'd *also* ignore the alignment properties (and force it to stretch) in the *other* dimension, where it's not deferring to the parent for track definitions.
Section 6
---------
(L) # Once the explicit grid is filled (or if there is no
# explicit grid) auto-placement
This sentence just trails off without ending (as quoted above).
Thanks,
~Daniel
Received on Thursday, 26 February 2015 00:53:37 UTC