[css3-marquee] Comments on Terminology and marquee-direction

Writing Mode Terminology
------------------------

   # The specification may refer to the specified value, the used value,
   # and the computed value of a property. Unless stated explicitly, the
   # short form "value" means the computed value.
   #   A glossary of technical terms can be found in chapter 3 of CSS
   # level 2 [CSS21].

Swap these two paragraphs, and then merge them into one paragraph.
Add "as defined in <insert CSS2 reference here>" right after "computed
value of a property" in that first sentence.

   # Furthermore, the following writing modes are defined for the purpose
   # of this module.

There's a sentence in the definition of "vertical writing mode":
   # An element can have horizontal or vertical writing mode, but not
   # both. (Although child elements can have different writing modes
   # from their parent.)
This sentence is quite general, and should be pulled out of this definition
and put, e.g. right after that "Futhermore" sentence.

Shift the "The precise definition will be in a separate module..." sentence
into a non-normative note. s/block-progression/writing-mode/.

   # horizontal writing mode -
   # A horizontal element (or box) is one that is laid out as horizontal
   # line boxes with later lines below earlier ones. This is the usual
   # writing mode for English.

I suggest s/laid out as/laid out as (or would be laid out as if its
'display' value were 'block')/ to make sure non-blocks such as table
row elements can be classified correctly.

Secondly, you need to remove "with later lines below earlier ones"
because it's possible to have a bottom-top writing mode as well.

I suggest splitting the definitions of left-right writing mode and
right-left writing mode into their own sections. Add a definition
for top-bottom writing mode.

Minor editorial comment: Replace "Otherwise" in the definitions of
marquee-line and marquee-block with "In vertical writing mode".

marquee-direction
-----------------

The table here is only correct if we don't later add the ability to
reverse-stack line boxes for horizontal and right-left writing modes
or the ability to forward-stack line boxes for left-right writing mode.
By reverse-stacking, what I mean is that the lines stack like they do
in Mongolian, where if you took the box and turned it 90deg the English
would either be laid out stacking top-to-bottom but with each line
upside down or with the lines right-side-up but stacking bottom-to-top.

In other words, as long as horizontal writing modes always have
right-side-up lines and vertical writing modes have 90deg
clockwise-rotated lines, the table is correct. If we add the ability
to rotate 90deg counter-clockwise in a vertical writing mode, then the
table is incorrect.

My suggestion here is to replace the table with definitions for
'start', 'end', 'before', 'after' and define the directions in terms
of these relative directions.

The table would then look like this:

                forward moves toward    | reverse moves toward
-------------+-------------------------+--------------------------
marquee-line |  start edge             |  end edge
-------------+-------------------------+--------------------------
marquee-block|  before edge            |  after edge
-------------+-------------------------+--------------------------

In the marquee-style definitions you'd need
   s/when the marquee direction is to the left/for marquee-line in the forward direction/
   s/margin-left/start edge margin/
   s/margin-right/end edge margin/

And finally you'd need some definitions for these terms, perhaps something like

   start edge
     The edge at which inline content, if the element had any, would
     begin and progress away from. E.g. for a box in top-bottom writing
     mode as described in CSS2.1, the start edge would be the left
     edge for elements with 'direction: ltr', and the right edge for
     elements with 'direction: rtl'. For an element in right-left
     writing mode whose left-to-right text runs from top to bottom, the
     start edge would be the top edge for elements with 'direction: ltr'
     and the bottom edge for elements with 'direction: rtl'.
   end edge
     The edge opposite to the start edge, i.e. the edge towards which
     inline content, if the element had any, would progress.
   before edge
     The edge perpendicular to the start and end edges that in normal
     block flow would be closer to earlier content. For top-bottom
     writing mode this is the top edge. For right-left writing mode
     this is the right edge.
   after edge
     The opposite the before edge, i.e. that in normal block flow would
     be closer to later content.

~fantasai

Received on Wednesday, 9 July 2008 22:12:12 UTC