- From: Kang-Hao (Kenny) Lu <kennyluck@w3.org>
- Date: Thu, 23 Dec 2010 03:15:29 +0900
- To: Bidi Discussion <public-i18n-bidi@w3.org>
- Cc: "Aharon (Vladimir) Lanin" <aharon@google.com>
Hi bidi folks, This is an attempt to revisit some issues around the prosed featured of the 'ubi' attributes. As far as I understand, the original global 'ubi' attribute was rejected because [[ Generally we only add global attributes when you'd use the attribute on all kinds of elements, not just phrasing content. ]] (see [1]) but I think in principle we need HTML syntax for everything that's needed from 'unicode-bidi' of the current CSS3 Writing Modes module[2]. The current proposal in HTML5 requires the user to use <ubi> or <output>[3] to activate bidi isolation, which has following issues raised by Aharon[4]: - Longer syntax (need a closing tag) - I want isolation by default for dir=auto elements, but I want to be able to suppress it with ubi=off, which I can't do with an element. - Should the output element, which is likely to be used mostly for numbers, really be isolated, with no way to override it in HTML?[5] [1] http://www.w3.org/Bugs/Public/show_bug.cgi?id=10807#c27 [2] http://dev.w3.org/csswg/css3-writing-modes/ [3] http://www.whatwg.org/specs/web-apps/current-work/multipage/rendering.html#punctuation-and-decorations [4] http://www.w3.org/Bugs/Public/show_bug.cgi?id=10807#c8 [5] https://docs.google.com/a/google.com/document/d/17nb3wlYkIG9MNtL1mlXVPOVe4QwyApiHRYim3nTi5CE/edit?hl=en&pli=1&ndplr=1 For the first point, Aharon mentioned an example like <a><ubi>BLAH BLAH</ubi></a> is too ugly and I concur with that. Suppose we put the second point into the default UA style sheet, [dir=auto] { unicode-bidi: isolation;} but then we need an syntax to cancel bidi isolation. I am proposing we add the 'off' attribute to the ubi element with the following default UA style sheet (cancel the isolation of the children of the <ubi> element to 'embed'): ubi[off] > * {unicode-bidi: embed; } Ex: <ubi off><output>BLAH BLAH</output></ubi> <ubi off><a dir="auto">BLAH BLAH</a></ubi> ( <a>BLAH BLAH</a> should be used instead if you don't want to apply dir="auto" to it) This is really just a tweak of the original ubi="off" proposal. Pros 1. It provides a way to cancel bidi isolation on <output> 2. It reduces <a><ubi>BLAH BLAH</ubi></a> to <a dir="auto">BLAH BLAH</ a> but there's side effect, you might need <a dir="auto" autodirmethod="inherit">BLAH BLAH</a> in the end. lol Cons 1. Using dir="auto" for the purpose of initializing bidi isolation is a hack. But I am guessing that some people would like to have [dir=ltr], [dir=rtl] {unicode-bidi: isolation;} instead of the current 'embed', but this is a non-starter (cause it breaks backward-compact) and this hack might provide a workaround. 2. The fact that <ubi off><ubi>BLAH BLAH</ubi></ubi> is not isolated is maybe unintuitive. Also, <ubi off> would not propagate to other descendants. Frankly, it seems that having a global ubi attribute would be more intuitive, but I have no idea what the consequences of introducing a new global attribute are. Perhaps an API would be needed? Some side comparison between these two systems: <ubi>BLAH BLAH</ubi> <span ubi>BLAH BLAH</span> <control>BLAH BLAH</control> <control ubi>BLAH BLAH</control> <a><ubi>BLAH BLAH</ubi></a> <a ubi>BLAH BLAH</a> <a dir="auto">BLAH BLAH</a> <a dir="auto" ubi>BLAH BLAH</a> <ubi off><control>BLAH BLAH</control></ubi> <control ubi="off">BLAH BLAH</control> Some are shorter, some are longer. If there's any statistics on the percentage of cases when the user wants "dir=auto" to activate bidi isolation, it could be helpful for obtaining a quantitative result. As far as I known, a goal of the HTML5 editor is to let the users use u, b, i and so on instead of span, so this is likely to be a reason why he doesn't like the right hand side, which has <span ubi>. However, <ubi> looks just too dummy in case 3 and 5. Perhaps this comparison can lead us to the right track, whatever it is. If it is concluded that the RHS is better, maybe we should suggest the editor to deprecate <bdo> in favor of a new 'bdo' attribute to make it consistent. A comparison pair is listed as follows <a><ubo dir="rtl">BLAH BLAH</ubo></a> <a dir="rtl" ubo>BLAH BLAH</a> with the follwodefault UA stylesheet [dir] { unicode-bidi: embed; } [dir=auto] { unicode-bidi: isolation;} [ubo] { unicode-bidi: unicode-override; } [ubi] { unicode-bidi: isolate; } [ubi=off] { unicode-bidi: embed;} Cheers, Kenny
Received on Wednesday, 22 December 2010 18:34:48 UTC