Re: [CSS21] bidi, text-align, and list markers

Re the proposed change to text-align generally (i.e., that by default it get
set to 'left' or 'right' at the root element and be inherited as such by
normal inheritance rules), I strongly agree with fantasai that this would
break many existing bidi pages, which rely on a change in dir changing the
alignment by default. I am very much against such a change.

I am very much for adding (to CSS3) a text-align value or values that
compute(s) to either 'left' or 'right' at the point where it is specified
(and would thus be inherited as 'left' or 'right', i.e. ignoring direction
changes in descendants). Among the 'frozen-start' (pardon the name - we have
to call it something during this discussion) value's uses would be to get
the proposed behavior - but by explicitly putting that value on the root
element. Another use would be to get the <option>s in a <select> to all line
up despite direction changes (hopefully they'll start supporting direction
very soon) by putting the new text-align value on the <select>. (Would it be
possible to even make that value the default text-align on a select?)

Re list marker location, it is certainly true that one can use a child
element to set the direction on an <li>'s content. However, I think that
this is basically a workaround that authors may or may not invent when they
are faced with the problem of <li>'s current bidi behavior. I think that it
would be best if there were a style that would allow controlling the
location of the list marker, and that by default it should be set to use the
start edge of the list's (not the list item's) direction.

The 'frozen-start' text-align value on the list in addition to the suggested
list marker location style would also achieve consistent alignment of the
list items' content. Please note that this is not the same as controlling
the list marker location:

* hello
                                          OLLEH *

is not the same as

* hello
*                                         OLLEH

is not the same as

* hello
* OLLEH

is not the same as

* hello
OLLEH *

Aharon

On Thu, Jun 3, 2010 at 2:28 AM, Tab Atkins Jr. <jackalmage@gmail.com> wrote:

> On Wed, Jun 2, 2010 at 11:25 AM, Ambrose LI <ambrose.li@gmail.com> wrote:
> > On 2 June 2010 14:12, Alan Gresley <alan@css-class.com> wrote:
> >> I disagree to regarding the placement of the list marker. For Boris'
> >> example.
> >>
> >>    * 123 WERBEH
> >>    * latin latin
> >>    * latin latin
> >>
> >>
> >> To achieve this, an author can use a child element.
> >>
> >> <ul>
> >>  <li><span dir="rtl">HEBREW 123</span></li>
> >>  <li>latin latin</li>
> >>  <li>latin latin</li>
> >> </ul>
> >
> > But wouldn't it be very counterintuitive to have <li dir=rtl> mean
> > something different than <li><span dir=rtl> ?
> >
> > As an uninformed author (i.e., one that is not following this list
> > closely), I find it very surprising that I'll have to use a child
> > element when I can set the direction in the list item.
>
> I find it relatively clear.  The ::marker is a child of the <li>, so
> @dir on the <li> affects it, but @dir on a child of the <li> doesn't.
>
> ~TJ
>
>

Received on Thursday, 3 June 2010 07:00:13 UTC