[CSS3 Page] Comments on CSS3 Paged Media (I)

Introduction
------------

   # A signature is a group of pages printed on a sheet, which,
   # when folded and trimmed like a book, appear in their proper
   # sequence;

   "signature" should be in <dfn>

Page Boxes: the @page Rule
--------------------------

   # The properties of a page box are determined by properties
   # established within the page context, which is the rule set
   # of the @page rule.

   s/established/declared/
   -- also link this to http://www.w3.org/TR/CSS21/syndata.html#declaration

   s/rule set/declaration block/
   -- also link this to http://www.w3.org/TR/CSS21/syndata.html#x14

Page Terminology and the Page Model
-----------------------------------

   # A user agent may not be aware of this area or how it varies
   # from printing device to printing device.

   s/may not be aware/may be unaware/

   # Printing devices MAY adjust the layout of the document
   # so that content is not lost.

   If a UA is aware of the non-printable area restriction, is
   it allowed to make the adjustment before sending the page
   to the printer?

   # A user agent may not be aware of this are ... Content outside
   # the page box.

   This text is repeated twice: in the non-printable area definition
   and again in the printable area definition.

   # Unlike other boxes, the margins of the page box are subdivided
   # into margin boxes.

   This repeats an earlier statement in the previous section.

   # In the simplest case, the page box is congruent with the page
   # sheet.

   Which page box is congruent with the page sheet? Its margin box,
   border box, padding box, or content box?

   # The page area acts as a container for all the boxes laid out
   # within a given page box.

   This statement is repeated from the previous section.

   # Margin box

   I would add to the beginning of this definition the following:
     "Margin boxes are rectangular regions within the page margin."
   The current definition only says what they are used for, not
   what they are. Also, this definition duplicates content from the
   previous section.

   # page margin / page border / page padding

   These terms are not defined anywhere.

Page Types
----------

   # Some of these depend upon factors such as the major writing
   # direction and the media type that are not specified by this
   # module.

   s/ that/, which/

   Also, you might want to pick a more precise term than media type.
   It has at least two other technical meanings that are associated
   with CSS and (X)HTML documents.

   # page orientation

   I would add to the definition that the page orientation can be
   either landscape or portrait.

   # Duplex printing uses one page box...

   s/uses/prints/

   # Binding Edge treatment

   s/treatment//

   # It is up to the UA to determine whether the left page or the
   # right page of a pair of facing pages is the earlier one of
   # the sequence.
   ...
   # Page layouts for documents using a left-to-right major writing
   # direction have the earlier of the facing pages on the left.
   ...
   # Whether the first page of a document is ':left' or  ':right'
   # depends on the major writing direction of the document and is
   # outside the scope of this document.

   These three sentences are contradictory. (The last one was taken
   from a different section, "Left, right and first pages")

   # The major writing direction for the document is determined by
   # the UA. If the UA supports the 'direction' property from CSS2
   # or the CSS 3 Text Module it MUST determine it using the value
   # of that property on the root element.

   I think we need to be a bit more specific here, since in vertical
   text the 'direction' property is irrelevant for determining page
   order: the block progression direction is used instead. So
     If text is laid out horizontally,
       the major writing direction is the same as the inline progression
       direction (determined by 'direction').
     If text is laid out vertically,
       the major writing direction is the same as the block progression
       direction (determined by a new property from CSS3 Text Layout)

   # Rules for the left page can be specified using the ':left' page selector.
   # Rules for the right page can be specified using the ':right' page selector.
   # Rules for the first page can be specified using the  ':first'  page selector.

   s/for/specific to/g

   # A first page can be either a left page or a right page but a UA MUST
   # apply any rules defined for a first page in preference to those defined
   # on a left page or a right page.

   Stating this requirement should be deferred to the page selectors section.
   (It is already defined there.)


   How does this module consider these concepts when the binding edge
   is the top edge of the booklet instead of a side edge? Left/right-
   based styling doesn't really make sense in that case.


Page Size
---------

   It is not clear which box's size is being set here because what rectangle
   exactly corresponds to the term "page box" is not defined. I assume it
   is the same rectangle as the page margin box, but that must be stated
   somewhere.


   # When possible, output should be rendered on the media size indicated;
   # if not available, a larger size should be used; if not available,
   # the contents of the page box should be scaled down to fit the smaller
   # page sheet.

   Given the conditionals about availability, we might want to
     s/should/must/g

   # The page context has a font associated with it either by an explicit
   # use of the 'font-family' and 'font-size'  properties or from the UA's
   # default style sheet. Therefore, values in units of 'em'  and 'ex'
   # refer to the page context's font.

   Replace with just "Values in units of 'em' and 'ex' refer to the page
   context's font." How to find that font is more accurately defined in
   the "Page Properties" section.


   You need to add that
     "If two length values are specified, the first value sets the width
     of the page box and the second value sets the height."
   (or vice versa if that's what you meant).


   # A5
   # The page box should be set to the size of ISO A5 media: 148mm wide
   # and 210mm high.

   Since the paragraph above defines these names as equivalent to their
   stated size in <length> values, the definitions should reflect that.
   I propose adopting the form

   | A5
   |   Equivalent to the size of ISO A5 media: 148mm wide and 210mm high.


   It's pretty obvious what should happen with
      size: 8.5in 11in portrait;
   and
      size: 8.5in 11in landscape;
   but I just want to check what should happen with
      size: 11in 8.5in landscape;
   ?
   Are
      size: 8.5in 11in landscape;
      size: 11in 8.5in landscape;
      size: 11in 8.5in;
   all equivalent?


   # User agents SHOULD also support Media Size Self-Describing Names as
   # defined in Section 5 of [PWGMSN].

   Why is this SHOULD rather than MUST?


   Is there any way for the author to specify preferred paper sizes?
   E.g. I want my report to print on letter paper, but A4 paper would
   be OK, too. Failing that, I'll settle for legal, and failing that
   whatever the printer has available.
   'size' only allows me to set one size, which becomes the absolute
   paper size, and @media rules only let me specify different styles
   for different sizes: they doesn't let me specify a preference for
   one size over another.

   # The '<page-size>' names can be used in conjunction with 'landscape'
   # or 'portrait' to indicate size and orientation.

   Insert "both" immediately before "size".


Some Examples
-------------

   In the second example, it might also be helpful if you stated the
   size of the page area.

   In the third example, s/requires/requests/ since the printer will
   give a smaller sheet if that's all it has.

Rendering page boxes that do not fit a page sheet
-------------------------------------------------

   # There is no requirement to maintain the aspect ratio of the page
   # or of any elements on the page when scaling; however, preservation
   # of the aspect ratio is preferred.

   Should that be s/preferred/recommended/?

   # Reformat the page contents, including 'spilling' onto other page
   # sheets.

   Does this mean reformatting the document to print as if a smaller
   page 'size' were specified, or does this mean each page will have
   its own slice of overflow printed on a separate page?

Page Selectors and the Page Context
-----------------------------------

   # Authors specify various aspects of a page box such as the dimensions,
   # orientation, and margins within an @page rule.

   I would either use the passive voice here, or s/specify/can specify/

   # The OPTIONAL page name and OPTIONAL page pseudo-class constitutes

   s/constitutes/constitute/

Page selector grammar
--------------------

   # more strict

   stricter

Cascading in the page context
-----------------------------

   # computed in an analogous manner to

   computed in a manner analogous to

   Either this section or the following section must specify that
   properties that aren't explicitly set take their initial values
   and do not inherit from any element.

Page Properties
---------------

   # That is, when set in the page context, the values become the
   # initial values for the margin boxes.

   This should be specified in terms of inheritance, because we
   don't want to e.g. re-interpret the meaning of the 'initial'
   keyword here.

   | That is, the margin boxes inherit values for inheritable
   | properties from the page context.

   # Values in units of 'em' and 'ex' refer to the page context's font.

   Is this true for margin boxes as well, or do 'em' and 'ex' on
   the margin boxes refer to the margin box's font (as I would have
   expected)?

   # For left and right, the margin, border and padding percentages
   # are relative to the width of the containing box; for top and
   # bottom, the margin, border and padding percentages are relative
   # to the height of the containing box.

   I don't understand this sentence at all.

   #     * The page background applies to the entire page box,
   #       including the page margins.
   #
   # The page background is painted first, and covers the entire
   # page box.

   Delete the list item, and add "including the page margins" to the
   first sentence of the paragraph after it.

   # The origin of the page background is the upper-left corner of
   # the page area.

   To be consistent with how backgrounds are handled on all other
   elements, the origin should be the top left corner of the page's
   padding box, not its content box.

   # When a page break splits a box, the box's margins, borders,
   # and padding have no visual effect where the split occurs.

   IIRC, this is covered by CSS2.1. If you want to state it in this
   module, it needs a more appropriate context: this section is
   talking about page-level boxes, whereas this statement refers to
   content-level boxes.

  Left, right, and first pages
-----------------------------

   # However, to force a  ':left' or ':right' first page, authors MAY
   # insert a page break before the first generated box (e.g., in HTML,
   # specify this for the BODY element).

   I suggest s/MAY/can/.
   I also suggest changing the parenthetical example to say
     (e.g. by specifying it on the root element)

Content outside the page box
----------------------------

   # Note, however, that generating a small number of empty page boxes
   # MAY be necessary to honor the 'left' and  'right' values for
   # 'page-break-before' and  'page-break-after'.

   That should not be a MAY for two reasons:
     1. It's not expressing a conformance requirement
     2. It's in a non-normative note.

   # User agents MAY handle boxes positioned outside the page box in
   # several ways, including discarding them or creating page boxes
   # for them at the end of the document.

   The term "several ways" seems to imply a fixed list. Maybe
    | This specification does not define how boxes positioned
    | outside the page box are handled. Possibilities include
    | discarding them or creating page boxes for them at the
    | end of the document.
   ?

~fantasai

Received on Friday, 30 March 2007 00:05:28 UTC