W3C home > Mailing lists > Public > www-style@w3.org > August 2015

Re: [css-writing-modes] the caption-side keywords

From: fantasai <fantasai.lists@inkedblade.net>
Date: Tue, 25 Aug 2015 01:55:35 +0200
Message-ID: <55DBAEF7.90801@inkedblade.net>
To: MURAKAMI Shinyu <murakami@antenna.co.jp>, www-style@w3.org, Jonathan Kew <jfkthame@gmail.com>
On 03/17/2014 05:56 PM, MURAKAMI Shinyu wrote:
> 7.7 Table Caption Mappings: the caption-side keywords
> http://dev.w3.org/csswg/css-writing-modes/#caption-side
>
> The spec says:
> |  New values: block-start | block-end
>   ...
> |  For implementations that support the 'top-outside' and
> |  'bottom-outside' model, corresponding 'start-outside' and
> |  'end-outside' are similarly introduced.
>
> I think these should be 'block-start-outside' and 'block-end-outside'
> for consistency.

IIRC I dropped the 'block' part initially so that the keyword would
be shorter, since for the '-outside' values there are no inline-axis
equivalents. 'block-start-outside' and 'block-end-outside' are rather
long to type. If people feel strongly that the extra verbosity is
worth it, I can ask the WG to change.

> I have also a concern about treatment of existing values (top/bottom/left/right).
>
> The spec says:
> |  Implementations that support the 'top' and 'bottom' values of the
> |  'caption-side' property but do not support side captions (i.e.
> |  'left' and 'right' captions in horizontal writing modes) must treat
> |  both 'top' and 'bottom' as 'block-start', when the table is in a
> |  vertical writing mode.
>
> I checked existing implementations, Webkit and Blink, and found that
> they treat the 'bottom' as 'block-end', and other values (top/left/right)
> as 'block-start'. The value 'block-end' (or its old name 'after') are
> not supported.
>
> As a result, the only way to specify the caption to the block-end side
> in vertical writing mode is 'caption-side: bottom'.
> However, the spec says 'bottom' must be treated as 'block-start'.
> This may cause problem.
> It would be better 'bottom' treated as block-end?

This was done intentionally as error-handling, as Tab explains:
   https://lists.w3.org/Archives/Public/www-style/2015Aug/0072.html
See also below...

I don't think this is good to change.

> I am rethinking about caption-side CSS2 keywords.
> The following definition would be better?
>
> 'top' is the alias for 'block-start' (the right side in vertical-rl mode).
> 'bottom' is the alias for 'block-end' (the left side in vertical-rl mode).
> 'left' is the line-left (the top side in vertical-rl mode).
> 'right' is the line-right (the bottom side in vertical-rl mode).
>
> I think it would be natural that the keyword 'right' of 'caption-side',
> 'text-align', and 'float' would have all same meaning, the bottom side in
> vertical-rl writing mode.
> Also the keyword 'top' and 'bottom' of the 'vertical-align' on table-cell
> mean block-start and block-end (right and left in vertical-rl writing mode)
> obviously and for the caption-side would be the same.

I think it's important for us to avoid using 'top' as an
alias of 'block-start', because for other properties (like
margins, background positioning, etc) it is a physical
direction, not a logical one.

> BTW, the 'float' property will have same problem when 'top' and 'bottom'
> (or 'block-start' and 'block-end') values are added.
> I discussed with HÃ¥kon about this.
> His idea is 'top' = 'block-start' (aliases). See:
> http://figures.spec.whatwg.org/#floating-to-the-top-bottom:-float

An implementation that doesn't support 'block-start' and 'block-end'
should also not support 'top' and 'bottom' keywords.

~fantasai
Received on Monday, 24 August 2015 23:56:13 UTC

This archive was generated by hypermail 2.3.1 : Monday, 24 August 2015 23:56:14 UTC