- From: Daniel Glazman <daniel.glazman@disruptive-innovations.com>
- Date: Wed, 20 Feb 2013 11:19:50 +0100
- To: "www-style@w3.org" <www-style@w3.org>
Here are some comments on the latest css3-page ED:
Honestly, I have a strong concern about the 16 page-margin
boxes. When I try to print from a browser on a office printer,
here's what I get:
http://pics.lockerz.com/s/284292098
it allows me to specify the usual six page-margin boxes but not the
10 extras. Furthermore, the specification does not say how the
settings in that dialog set/conflict/collide/override the ones in
the stylesheets attached to the printed document. I think that is a
concern.
The 16 boxes are a mix of flows, flexing, tables and grids. We have
now better on the radar in the CSS WG. I understand Paged Media 3
has to be published because there are already implementations in the
wild, but this is sooooo 2002...
The prose says in section 5.1 that "margin at-rules may be
interleaved with the declarations in the page context". I would
prefer such a wording "An @page rule can also contain other
at-rules, interleaved between declarations. The current
specification only allows margin at-rules inside @page for the time
being.
I think a definition for blank pages is missing: if an element is a
running element (then rendered inside a page-margin box) triggering
a page-break before and after, is it a blank page?
Section 5.1 does not say that @page rules can happen anywhere in a
stylesheet, w/o restrictions like the ones existing for @import.
Section 5.1 should establish a link between 'page name' in second
paragraph and section 9.1 (the 'page' property').
Page margin boxes names are not rtl-compliant. Since they use left
and right, a UA will have to look at the system's locale and the
document's language to apply the print settings discussed above.
GRAMMAR: there is a problem in the 'page-body' production. It allows
the following:
@page {
property: value
@top-left { property value }
}
where the first declaration in @page does not end with a ; making the
whole thing usually invalid...
Case-sensitivity of page names not mentioned in section 5, only in
section 9.1, not linked from section 5.
Section 6.1 says "(margin at-rules) should come after any
declarations in the page context as legacy clients may not handle
declarations after margin at-rules correctly" BUT grammar in section
5.3 clearly allows a declaration AFTER a margin at-rule. This is
inconsistent.
Not sure the page and page counters' definition in section 7.1
should not belong to the GCPM spec.
I have implementation concerns about the last paragraph before issue
2 "If a size property declaration is qualified...". The MQ can come
not from inside the stylesheet but also from a media attribute in
the markup, making it a bit difficult for a css parser to reach it.
'spilling' is totally undefined in section 8.2 item 4.
section 8.3 second item says "in the upper left corner". Including
for rtl documents?
Section 9.1 item 2 of the list following example 28 uses "iff". I
have no idea if this is a typo or means "if and only if". If the
latter, then the use of the abbreviation here is a mistake
potentially harmful to non natively english readers.
What happens with
div { page: foo; }
span.blah { page: bar; }
<div>foo<span class="blah">bar</span>foo</div>
? Three pages?
Should the page property be limited to block-level boxes?
Section 7 and appendix A don't list the same properties. For
instance bidi properties are in appendix A for page boxes and not in
section 7. One of the two should probably go.
</Daniel>
Received on Wednesday, 20 February 2013 10:20:20 UTC