Re: dir=auto makes no sense for descendant user-visible attributes

Najib Tounsi wrote:
  * 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.
<end of quote>

This may be what Aharon meant, but this is not what I have in mind. For 
me, an explicit specification of dir="auto" on the element itself or on 
the closest ancestor having an explicit dir specification should have the 
same effect as setting attribsdir to "auto".

Shalom (Regards),  Mati
       Bidi Architect
       Globalization Center Of Competency - Bidirectional Scripts
       IBM Israel
       Mobile: +972 52 2554160




From:   Najib Tounsi <ntounsi@emi.ac.ma>
To:     "Aharon (Vladimir) Lanin" <aharon@google.com>
Cc:     Matitiahu Allouche/Israel/IBM@IBMIL, "Martin J. Dürst" 
<duerst@it.aoyama.ac.jp>, Ehsan Akhgari <ehsan@mozilla.com>, 
public-i18n-bidi@w3.org
Date:   28/02/2012 22:05
Subject:        Re: dir=auto makes no sense for descendant user-visible 
attributes



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 &#x202B; and &#x202C; :-)
>
>
>         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>&#x05D0;<span
>            dir=ltr>bc</span>&#x05D3;</span> is *not* the same as <span
>            dir=ltr>&#x05D0;<span>bc</span>&#x05D3;</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 &lrm; or &rlm; 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:48:16 UTC