- From: Aharon (Vladimir) Lanin <aharon@google.com>
- Date: Mon, 27 Feb 2012 17:24:07 +0200
- To: Matitiahu Allouche <matial@il.ibm.com>
- Cc: Martin J. Dürst <duerst@it.aoyama.ac.jp>, Ehsan Akhgari <ehsan@mozilla.com>, public-i18n-bidi@w3.org
- Message-ID: <CA+FsOYYnXgyfMFJ=ORn9ozR0ynu19y7P-gj6NwJYkRfoDojC1A@mail.gmail.com>
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? Aharon On Mon, Feb 27, 2012 at 3:50 PM, Matitiahu Allouche <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 > > > > > From: "Aharon (Vladimir) Lanin" <aharon@google.com> > To: Matitiahu Allouche/Israel/IBM@IBMIL > Cc: Ehsan Akhgari <ehsan@mozilla.com>, Martin J. Dürst < > duerst@it.aoyama.ac.jp>, 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 at 5:13 PM, Matitiahu Allouche <*matial@il.ibm.com*<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* <%2B972%2052%202554160> > > > > > From: Ehsan Akhgari <*ehsan@mozilla.com* <ehsan@mozilla.com>> > To: "Aharon (Vladimir) Lanin" <*aharon@google.com*<aharon@google.com> > > > Cc: *public-i18n-bidi@w3.org* <public-i18n-bidi@w3.org>, Martin J. > Dürst <*duerst@it.aoyama.ac.jp* <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/* <http://ehsanakhgari.org/>> > > > On Thu, Feb 23, *2012* <2012> at 11:53 PM, Aharon (Vladimir) Lanin <* > aharon@google.com* <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* <2012> 6:11 PM, "Ehsan Akhgari" <*ehsan@mozilla.com*<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/* <http://ehsanakhgari.org/>> > > > On Thu, Feb 23, *2012* <2012> at 6:49 AM, Aharon (Vladimir) Lanin <* > aharon@google.com* <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* <2012> at 11:32 AM, "Martin J. Dürst" <* > duerst@it.aoyama.ac.jp* <duerst@it.aoyama.ac.jp>> wrote: > On 2012/02/23 1:11, Ehsan Akhgari wrote: > On Wed, Feb 22, *2012* <2012> at 10:04 AM, Aharon (Vladimir) Lanin<* > aharon@google.com* <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. > > >
Received on Monday, 27 February 2012 15:27:31 UTC