RE: browsers + arrow keys + bidi

A few thoughts of mine.

 

1) We must distinguish between 

   - physical movement within the text, which can be LTR or RTL, and is best implemented with the right and left arrow keys,

   and

   - logical movement within the text, which can go forward or backward, and has no commonly agreed key combinations associated with it. I like to use ALT + downward arrow to go forward and ALT + upward arrow to go backward, but this is my personal preference.

 

2) I am unhappy with the behavior exhibited in the tests, where the right and left arrows go rightward and leftward respectively when not used with Shift, but proceed like forward and backward when used with Shift for selection.

IMO, the left arrow key must always move the cursor leftward and the right key must always move the cursor rightward.

If there are specific key combinations for forward and backward as suggested above, they can be used together with Shift to create a “logical” selection, meaning selecting the text between the starting point and the ending point of the selection in logical order.

 

3) Assuming point 2 above, what should happen when the cursor is moved with the left and right arrow keys together with pressing Shift? It should define a “visual” selection, meaning selecting the text between the starting point and the ending point of the selection in display order.

In my long years of involvement with bidi, I have spent many hours hearing and discussing the pros and cons of logical versus visual selection without reaching a consensus. My conclusion is that there are many types of users, and implementers should support both types of cursor movement (physical and logical) and of selection.

 

4) Assuming point 3 above, should selection using the mouse be visual or logical? Here again I would recommend both:

- Dragging the mouse without any added key would define a visual selection.

- Adding e.g. Shift or ALT would define a logical selection.

 

If I may add a bit of philosophical considerations, with the years I have learnt to try to design user interfaces less from the point of view of a software engineer and more for the convenience of the layman. Andre Schappo’s riddles illustrate how hard the bidi interface is to master, even after some 30 years of implementations based more or less on the Unicode Bidi Algorithm.

It is my belief that the interface may be improved in such a way that most of the surprises hidden in Andre’s riddle would not happen, and it is not too difficult to implement (I speak from experience). The hard part is to reach a consensus about what is the best behavior, because there never will be an ideal behavior for 100% of possible cases.

 

Shalom (Regards),  Mati

 

From: Andre Schappo [mailto:A.Schappo@lboro.ac.uk] 
Sent: Sunday, March 4, 2018 1:05 PM
To: www International
Subject: Re: browsers + arrow keys + bidi

 

On 2 Mar 2018, at 22:12, Peter Saint-Andre <stpeter@mozilla.com> wrote:

 

On 3/2/18 4:53 AM, Andre Schappo wrote:




Actually,having thought about it a bit more, I think we are seeing from
different points of view with respect to mentally allocating the forward
and back operations to the arrow keys. Once I have mentally allocated
the keys to forward and back I no longer think about left or right. I
think about forward and back wrt to the direction of the text.

So, an alternate way of thinking about it, wrt text selection, is:

in a ltr textbox with bidi text: right arrow becomes forward and left
arrow becomes back
in a rtl textbox with bidi text: left arrow becomes forward and right
arrow becomes back

I am ok with this as long as all browsers operate the same way. So, for
this scheme, Firefox is the odd one out.


Addison was kind enough to file a bug:

https://bugzilla.mozilla.org/show_bug.cgi?id=1442711

I'm following up with other folks on the Firefox team.

Peter

 

Excellent! Then we will have consistent behaviour across browsers.

 

Yesterday I started work on a blog article ➜ schappo.blogspot.co.uk/2018/03/computer-science-internationalization.html <https://schappo.blogspot.co.uk/2018/03/computer-science-internationalization.html> 


 <https://schappo.blogspot.co.uk/2018/03/computer-science-internationalization.html> 


I <https://schappo.blogspot.co.uk/2018/03/computer-science-internationalization.html> n this article I have deliberately used the notation "Left 🡆 Right" and "Left 🡄 Right" to indicate direction as it then becomes easier to associate 🡆 with forward in a ltr textbox and 🡄 with forward in a rtl textbox.

 

André Schappo

 

Received on Monday, 5 March 2018 12:47:51 UTC