- From: Najib Tounsi <ntounsi@emi.ac.ma>
- Date: Tue, 28 Feb 2012 20:08:56 +0000
- To: "Aharon (Vladimir) Lanin" <aharon@google.com>
- CC: Matitiahu Allouche <matial@il.ibm.com>, "Martin J. Dürst" <duerst@it.aoyama.ac.jp>, Ehsan Akhgari <ehsan@mozilla.com>, public-i18n-bidi@w3.org
Trying to summarize ( the idea not the wording...). According to my current understanding. We need a way to specify the directionality of attributes when it must differ from that of the element itself (Use cases needed to support the proposal). One can make usage of LRE/RLE - PDF, but not very "user friendly"... A new attribute, attribsdir="ltr|rtl|auto", is proposed which would determine the directionality in which the element's user-visible attributes must be displayed. A very important part of this would be the default value. So * attribdir = ltr", the element's attributes must be displayed to the user with directionality of LTR * attribdir = rtl", the element's attributes must be displayed to the user with directionality of RTL * attribdir = "auto", the direction is computed independently for each element's attribute. * attribdir not specified o There is an element, the closest ancestor or the element itself, who have an explicit, valid dir attribute with a value other than "auto" ("rtl | ltr"). attribdir have this same value. o There is no such element. The element's attributes must be displayed to the user with directionality of LTR (HTML default directionality) * what else... Right? Najib Aharon (Vladimir) Lanin wrote: > Please note that I did not include the "bell or whistle" of the > <input> / <textarea> exception. > > On Tue, Feb 28, 2012 at 2:46 PM, Aharon (Vladimir) Lanin > <aharon@google.com <mailto:aharon@google.com>> wrote: > > That just makes sure that we have the problem that I brought up. > To fix it, one needs the opposite change, i.e. to say "the value > of the dir attribute of the element or its closest ancestor having > an explicit or default dir attribute value". But I fear that for > most people this would be misleading, since most people think, as > you did, that the dir attribute inherits. They would not know that > the only element that has a default dir value is <bdi>. > > So, once again, please consider using the definition with the > dir=auto exception. That is: > > The attribsdir attribute determines the directionality in which > the text of the element's attributes must be displayed to the > user. For attribsdir="auto", the direction is computed > independently for each attribute. If attribsdir is not explicitly > specified, the element's attributes must be displayed in the > direction specified by the value of the dir attribute of the > closest ancestor of the element (or the element itself) having an > explicit, valid dir attribute with a value other than "auto". If > there is no such element, the attributes must be displayed ltr. > > Aharon > > > On Tue, Feb 28, 2012 <tel:2012> at 2:08 PM, Matitiahu Allouche > <matial@il.ibm.com <mailto:matial@il.ibm.com>> wrote: > > I think it can fixed as follows. > Instead of (old phrasing): > b. If the element has no attribsdir attribute, the > direction of > the text of visible attributes is the same as the value of > the dir > attribute of the element or its closest ancestor having a dir > attribute (if the value is "auto", the direction is computed > independently for each visible attribute). If neither the > element > nor any ancestor has a dir attribute, it is 'ltr'. > Let's have (new phrasing): > b. If the element has no attribsdir attribute, the > direction of > the text of visible attributes is the same as the value of > the explicit (not default) dir > attribute of the element or its closest ancestor having an > explicit (not default) dir > > attribute (if the value is "auto", the direction is computed > independently for each visible attribute). If neither the > element > nor any ancestor has a dir attribute, it is 'ltr'. > > Shalom (Regards), Mati > Bidi Architect > Globalization Center Of Competency - Bidirectional Scripts > IBM Israel > Mobile: +972 52 2554160 <tel:%2B972%2052%202554160> > > > > > From: "Aharon (Vladimir) Lanin" <aharon@google.com > <mailto:aharon@google.com>> > To: Najib Tounsi <ntounsi@emi.ac.ma > <mailto:ntounsi@emi.ac.ma>> > Cc: Matitiahu Allouche/Israel/IBM@IBMIL, "Martin J. > Dürst" <duerst@it.aoyama.ac.jp > <mailto:duerst@it.aoyama.ac.jp>>, Ehsan Akhgari > <ehsan@mozilla.com <mailto:ehsan@mozilla.com>>, > public-i18n-bidi@w3.org <mailto:public-i18n-bidi@w3.org> > Date: 28/02/2012 12:52 > Subject: Re: dir=auto makes no sense for descendant > user-visible attributes > ------------------------------------------------------------------------ > > > > Oops, I just realized that there is a problem with the > simplified formulation. The <bdi> element has dir=auto by > default. Thus, the title in <html dir=rtl><bdi dir=auto > title="C++"> will be displayed as "C++", but the title > in <html dir=rtl><bdi title="C++"> will be displayed as "++C", > even though <bdi> is supposed to be the same as <bdi dir=auto>. > > I am not sure how to fix this in the simplified formulation > while keeping it simple. > > Please note that my formulation *with* the dir=auto exception > does not suffer from this problem. And I am still convinced > that it will usually give better results. > > Thoughts? > > Aharon > > On Tue, Feb 28, 2012 <tel:2012> at 11:02 AM, Najib Tounsi > <_ntounsi@emi.ac.ma_ <mailto:ntounsi@emi.ac.ma>> wrote: > Aharon (Vladimir) Lanin wrote: > Ok, so how about we propose it as you have phrased it, but > afterwards also list a number of optional "bells and whistles" > (input/textarea exception, dir=auto exception, the more > complicated syntax). Let the editor reject them. He enjoys > doing that anyway :-) > > Ehsan, Najib: is Mati's formulation acceptable to you? > > Yes! This proposal seems clear to me too. I support it. No > more need of ‫ and ‬ :-) > > > Aharon > > > On Mon, Feb 27, _2012_ <tel:2012> at 3:50 PM, Matitiahu > Allouche <_matial@il.ibm.com_ <mailto:matial@il.ibm.com> > <mailto:_matial@il.ibm.com_ <mailto:matial@il.ibm.com>>> wrote: > > Thanks to Aharon for improving the phrasing of my proposal. > I now > phrase it as follows: > > a. If the element has an attribsdir attribute, the value of > this > attribute determines the direction of the text of each visible > attribute (for attribsdir="auto", the direction is computed > independently for each attribute). > b. If the element has no attribsdir attribute, the > direction of > the text of visible attributes is the same as the value of > the dir > attribute of the element or its closest ancestor having a dir > attribute (if the value is "auto", the direction is computed > independently for each visible attribute). If neither the > element > nor any ancestor has a dir attribute, it is 'ltr'. > > I prefer this simpler specification even at the cost of what > Aharon calls a loss of usability. In fact, this loss of > usability > is that with my spec it is necessary to specify a value for > attribsdir in cases when this would not be needed with Aharon's > specification. There is no case that can be handled with > Aharon's > spec and cannot be handled with mine. > Simple wins, IMHO. > > Aharon wrote: "I presume this means that you would be against > allowing attribsdir to take a more complicated (explicit) value > like "title:ltr;placeholder:rtl", correct?" > I think that this a nice syntactic format, but since it has not > found its place in HTML until now, and since it is possible to > express the same meaning with formats already existing in > HTML, I > would rather not introduce it, to say nothing on the fact > that its > chances to be accepted by the WHATWG seem very slim. > > > Shalom (Regards), Mati > Bidi Architect > Globalization Center Of Competency - Bidirectional > Scripts > IBM Israel > Mobile: _+972 52 2554160_ <tel:%2B972%2052%202554160> > <tel:%2B972%2052%202554160> > > > > > > From: "Aharon (Vladimir) Lanin" <_aharon@google.com_ > <mailto:aharon@google.com> > <mailto:_aharon@google.com_ <mailto:aharon@google.com>>> > > To: Matitiahu Allouche/Israel/IBM@IBMIL > Cc: Ehsan Akhgari <_ehsan@mozilla.com_ > <mailto:ehsan@mozilla.com> > <mailto:_ehsan@mozilla.com_ <mailto:ehsan@mozilla.com>>>, > Martin J. Dürst > <_duerst@it.aoyama.ac.jp_ <mailto:duerst@it.aoyama.ac.jp> > <mailto:_duerst@it.aoyama.ac.jp_ > <mailto:duerst@it.aoyama.ac.jp>>>, > _public-i18n-bidi@w3.org_ <mailto:public-i18n-bidi@w3.org> > <mailto:_public-i18n-bidi@w3.org_ > <mailto:public-i18n-bidi@w3.org>> > > Date: 27/02/2012 14:09 > Subject: Re: dir=auto makes no sense for descendant > user-visible attributes > > ------------------------------------------------------------------------ > > > > See below > > On Sun, Feb 26, _2012_ <tel:2012> <tel:_2012_ <tel:2012>> > at 5:13 PM, Matitiahu Allouche > > <_matial@il.ibm.com_ <mailto:_matial@il.ibm.com_ > <mailto:matial@il.ibm.com>>> wrote: > I am afraid that I have no silver bullet for this issue, and I > will go along with Aharon's proposal, but with some needed > (IMHO) > simplification, because if it needs 9 examples to describe it > > The examples are not there to describe it, and I was not > trying to > give as few examples as possible. I give a definition, and it's > not complicated. But let me re-phrase the definition of the > default value of attribsdir even more simply: > > - If the element is not <input> or <textarea>, and has a dir > attribute with a value other than auto, the same as its dir > attribute. > - Otherwise, if any ancestor of the element has a dir attribute > with a value other than auto, the same as the dir attribute > of the > closest such ancestor > - Otherwise, 'ltr'. > > , it is too complicated for my feeble mind. > So here is what I propose. > a. If attribsdir is not specified and the element has > (explicitly > or by inheritance) a dir different from auto, its dir > applies to > its visible attributes (no change from current spec). > b. If attribsdir is not specified and the element has dir=auto > (explicitly or by inheritance), dir=auto also applies > independently to each of the visible attributes. > c. If attribsdir is specified, it overrides the dir of the > element. If attribsdir=auto, the direction is computed > independently for each of the visible attributes. > > I do not think that the definition can be phrased in terms > of dir > inheritance because the dir attribute does not inherit. For > example, <span dir=ltr>א<span > dir=ltr>bc</span>ד</span> is *not* the same as <span > dir=ltr>א<span>bc</span>ד</span> (the first comes > out דbcא, while the second comes out אbcד). > > Thus, I would phrase the definition you are proposing (for the > attribsdir default value) as: > > - If the element has a dir attribute, the same as its dir > attribute. > - Otherwise, if any ancestor of the element has a dir > attribute, > the same as the dir attribute of the closest such ancestor. > - Otherwise, 'ltr'. > > Or, perhaps more simply, as: The default value of attribsdir is > the same as the value of the dir attribute of the element > or its > closest ancestor having a dir attribute. If neither the element > nor any ancestor has a dir attribute, it is 'ltr'. > > There are two simplifications in this definition compared > to mine: > - no exception for <input> and <textarea> > - no exception for dir=auto > > I can live with either or both of these simplifications, even > though I think that usually the results would be better without > the simplifications. However, I would prefer to let the > HTML5 spec > editor be the one to make simplifications that only make the > definition simpler, not more usable. > > Unless I am wrong (it has happened in the past), this proposal > creates no backward compatibility problem, > > Correct. > it is easy to understand and it allows any weird > combination of > different directions for element data and attributes' text > to be > solved by specifying attribsdir=auto and prefixing the > attribute > value by ‎ or ‏ as needed. > > True. > > I presume this means that you would be against allowing > attribsdir > to take a more complicated (explicit) value like > "title:ltr;placeholder:rtl", correct? > > > Shalom (Regards), Mati > Bidi Architect > Globalization Center Of Competency - Bidirectional > Scripts > IBM Israel > Mobile: __+972 52 2554160_ > <tel:%2B972%2052%202554160>_ <tel:%2B972%2052%202554160> > > > > > From: Ehsan Akhgari <_ehsan@mozilla.com_ > <mailto:_ehsan@mozilla.com_ <mailto:ehsan@mozilla.com>>> > To: "Aharon (Vladimir) Lanin" <_aharon@google.com_ > <mailto:_aharon@google.com_ <mailto:aharon@google.com>>> > Cc: _public-i18n-bidi@w3.org_ > <mailto:_public-i18n-bidi@w3.org_ > <mailto:public-i18n-bidi@w3.org>>, Martin J. Dürst > <_duerst@it.aoyama.ac.jp_ <mailto:_duerst@it.aoyama.ac.jp_ > <mailto:duerst@it.aoyama.ac.jp>>> > > Date: 24/02/2012 19:30 > Subject: Re: dir=auto makes no sense for descendant > user-visible attributes > > ------------------------------------------------------------------------ > > > > > > > I'm fine with attribsdir as you proposed, although I'm not > quite > sure about the more complex syntax, since it's so different > to the > way other attributes in HTML work. > > Let's hear what others think. > > Cheers, > -- > Ehsan > <__http://ehsanakhgari.org/__> > > > On Thu, Feb 23, __2012_ <tel:2012>_ <tel:_2012_ <tel:2012>> > at 11:53 PM, Aharon (Vladimir) > > Lanin <_aharon@google.com_ <mailto:_aharon@google.com_ > <mailto:aharon@google.com>>> wrote: > Good example. > > In the past, Ian has already rejected titledir etc. > > Perhaps they will be more receptive to attribsdir, since > it's just > one attribute and tackles some serious problems. > > Your example could be handled by also allowing syntax like > "title:rtl;placeholder:ltr". Even just " placeholder:ltr" > could do > if the other attributes then follow the default (which in this > case would presumably be rtl despite dir=ltr on the <input>). > Since it does not inherit, there would not be too much > difficulty > supporting the complex syntax. > > But attribsdir would still be useful even if it only allowed a > simple value. > > Aharon > > On Feb 23, __2012_ <tel:2012>_ <tel:_2012_ <tel:2012>> 6:11 > PM, "Ehsan Akhgari" > > <_ehsan@mozilla.com_ <mailto:_ehsan@mozilla.com_ > <mailto:ehsan@mozilla.com>>> wrote: > How about something like: > > <input name="phone" title="TELEPHONE" placeholder="(123) > 456-7890"> > > If we introduce an attribsdir attribute, I can see people > asking > to differentiate between different attributes, such as the > example > above. From a bidi perspective, the ultimate solution is > to have > a directional attribute for every user visible attribute, > such as > titledir, placeholderdir, etc. But honestly I don't expect > such a > proposal to be easily accepted in WHATWG, given the recent > resistance towards placeholderdir. > > -- > Ehsan > <__http://ehsanakhgari.org/__> > > > On Thu, Feb 23, __2012_ <tel:2012>_ <tel:_2012_ <tel:2012>> > at 6:49 AM, Aharon (Vladimir) > > Lanin <_aharon@google.com_ <mailto:_aharon@google.com_ > <mailto:aharon@google.com>>> wrote: > Well, I, for one, am not so happy with my proposal :-). > > Its solution is to apply dir=auto to the individual > user-visible > attributes, even though in most cases the values of such > attributes are not dynamic, but localized to the page > locale, e.g. > (in an English page) <input dir="auto" name="purpose" > placeholder="The purpose of your visit.">. Using estimation for > them is not just wasteful, but bound to reach the wrong > conclusion > occasionally. > > And it does not address the long-standing issue of no way > to set > the directionality of an attribute (other than using formatting > characters). The canonical examples are: > > - <input dir="ltr" name="telephone" title="PHONE NUMBER.">, > which > has to be worked around as <span title="PHONE NUMBER."><input > dir="ltr" name="telephone"></span> > - <input dir="ltr" name="telephone" placeholder="PHONE > NUMBER.">, > which has no workaround other than RLE + PDF. > > What if we could instead have a new attribute, > attribsdir="ltr|rtl|auto", which would determine the > directionality in which the element's user-visible > attributes must > be displayed. A very important part of this would be the > default > value. IMO, it would be best if it could default to the dir > attribute value of the closest ancestor - or the element itself > unless it is <input> or <textarea> - that has an explicit dir > attribute with a value other than "auto". If there is no such > ancestor, the default is "ltr". Thus: > > - the only way to get attribsdir=auto is to specify it > explicitly > - the explicit dir attribute value of <input> and <textarea>, > which is presumably meant to correspond to the > directionality of > their content, not their user-visible attributes, does not > affect > their default attribsdir. > - with the exceptions of <input dir="...">, <textarea > dir="...">, > and <whatever dir=auto>, the result is backward-compatible. > > Examples: > > 1. <html><body><div title="?">: ltr > > 2. <html dir=rtl><body><div title="?">: rtl > > 3. <html><body><div dir=rtl title="?">: rtl > > 4. <html><body><div><div dir=rtl><div><div title="?">: rtl > > 5. <html dir=rtl><body><div><input dir=ltr title="?"> : rtl > > 6. <html><body><div dir=rtl><div dir="auto" > title="?">hello</div>: > rtl > > 7. <html><body><div dir=rtl><div dir="auto">ltr > content<div title="?">: rtl > > 8. <html dir=rtl><body><div title="?" attribsdir="ltr">: ltr > > 9. <html dir=rtl><body><div title="?" attribsdir="auto">: auto > > Even if we couldn't get the <input> and <textarea> > exception, we > would still be ok - the page would just have to > specify attribsdir explicitly on the problematic inputs. > > Aharon > > On Thu, Feb 23, __2012_ <tel:2012>_ <tel:_2012_ <tel:2012>> > at 11:32 AM, "Martin J. Dürst" > > <_duerst@it.aoyama.ac.jp_ <mailto:_duerst@it.aoyama.ac.jp_ > <mailto:duerst@it.aoyama.ac.jp>>> wrote: > On 2012/02/23 1:11, Ehsan Akhgari wrote: > On Wed, Feb 22, __2012_ <tel:2012>_ <tel:_2012_ <tel:2012>> > at 10:04 AM, Aharon (Vladimir) > Lanin<_aharon@google.com_ <mailto:_aharon@google.com_ > <mailto:aharon@google.com>> > > wrote: > > One possibility is to divorce user-visible attributes from > their > elements' > directionality completely, always estimating the > directionality of > each > attribute by its content. This suffers from backwards > compatibility > problems (since estimation is a heuristic that sometimes > gives the > wrong > answer). > > A better possibility is to divorce it only for elements > under the > influence of dir=auto. Thus, if an element has dir=auto > (explicitly or > implicitly, the latter being the case for<bdi>), each of the > attributes in > the subrtree rooted at that element, with the exception of > elements > specifying dir="ltr" or dir="rtl" and their descendants, > must be > displayed > to the user as if they had a dir=auto of heir own. > > > I like the second proposal better. Although I have to say > that it > has been > worded a bit vaguely. What I have in mind is for the title > attribute in > the following example to have a resolved RTL direction: > > <p dir="auto" title="RTL TEXT followed by ltr text">ltr text > FOLLOWED BY > RTL TEXT</p> > > I agree with Ehsan that the second proposal is better. It's > something that comes quite naturally once one gets used to it. > > Regards, Martin. > > > > > > -- > Najib TOUNSI (tounsi at _w3.org_ <http://w3.org/>) > W3C Office in Morocco (_http://www.w3c.org.ma/_) > Ecole Mohammadia d'Ingénieurs, BP. 765 Agdal-RABAT Morocco > Mobile: _+212 (0) 661 22 00 30_ > <tel:%2B212%20%280%29%20661%2022%2000%2030> > > > > > -- Najib TOUNSI (tounsi at w3.org) W3C Office in Morocco (http://www.w3c.org.ma/) Ecole Mohammadia d'Ingénieurs, BP. 765 Agdal-RABAT Morocco Mobile: +212 (0) 661 22 00 30
Received on Tuesday, 28 February 2012 20:05:34 UTC