RTL: WTF: Read the web like Right-to-Left readers do
rtl.wtf
rtl.wtf
Personally, I think the convention to flip almost everything is due to old technological constraints. In old windows versions, there was no primary support for right-to-left. Instead, you had a "mirrored" arabic font, you would draw to the window as usual (without changing coordinates), and then mirror the whole window [1]. That is why the highlights on buttons seem to come from the top right on RTL windows! Some things like the folder icons or pictures are mirrored again so they have the correct orientation.
[1]: https://docs.microsoft.com/en-us/globalization/localizabilit...
Users of left-to-right, top-to-bottom languages are used to starting in the top left corner and heading right and down: that’s where our eyes naturally go, and how we interact with books and such. So in user interfaces, we anchor most things to the top left corner.
Users of right-to-left, top-to-bottom languages are used to starting in the top right corner and heading left and down. So it makes sense for RTL user interfaces to anchor things to the top right corner in the same way and progress leftwards.
User interfaces are largely built to match how eyes scan, because there’s not a huge difference between reading and writing prose, and reading and interacting with user interfaces.
(I’d say your cars comparison is not relevant; there’s very little inherent reason to prefer one side to the other. Scissors are only a smidgeon more relevant, being based on predominant handedness, and LTR is probably more popular than RTL for similar reasons, RTL being harder to ink cleanly if you’re right-handed.)
Counter-intuitively, it may well be easier to implement mirroring all the controls than it would be to implement mirroring only where it is really needed.
Also, speaking as a frontend engineer, it's usually much easier to flip everything as not doing so also increases the chance of weird text alignment/wrapping & overlap bugs.
Website navigation is presumably derived from reading - if you generally read RTL, then your eyes will start at the top right of the screen/page and scan to the left. Where it gets interesting is on small touch screens like phones. Perhaps we ought to optimize that for single-hand use and put the hamburger menu icon on the right side to make it easier to reach with your thumb when in your right hand, regardless of language orientation.
In any case, my experience is that in a lot of RTL software[0] navigation is flipped, and the "previous/next page" arrows are reversed as well. But in meatspace this is less practical so at least in Israel, the play/forward/rewind buttons on old tape recorders (for example) will be with a LTR orientation. I suspect that if Israel was manufacturing their own music players a few decades ago things might look different today.
Now imagine you work at Spotify and you need to decide how to display the play/skip/previous controls in RTL. Do you mimic normal RTL forward/back and reverse the controls or go for skeumorphism and use the same controls your users already know?
[0] Locally made software such as yad2.co.il is more likely to do this because it's RTL-first. Google doesn't flip their pagination, possibly because they use the 'o's in their logo to link to to page numbers and they don't translate or reverse their logo. Bing does reverse the pagination. DDG sidesteps the problem by having a "Load more" button.
None of these deal with text alignment problems, I guess.
> Why would you swap the navigation of a website from the left to the right side
Because text with alignment is part of the UI; perhaps it’s better if the text flow and UI flow match.
> Personally, I think the convention to flip almost everything is due to old technological constraints.
This could be easy to verify. E.g.: are there newspapers that predate Windows, where text is RTL but other layout elements flow from left to right?
The point is that even when you understand the script and the language, you find yourself looking at a website with messed up formatting, punctuation in the wrong place, and broken sentences when BiDi gets involved. Those of us who deal with this all the time are used to it, but most people have no idea how broken things are.
The real BiDi problems come when you got a context of LTR in RTL.
For example:
אני חושב שזה cool לכתוב מילה באנגלית.
This is where things goes wrong. And we didn't even start with text selection...
① Setting `text-align: right` so that you can feel the weirdness that `text-align: left` will produce for RTL languages.
② And for BiDi: setting `direction: rtl`, and using a mixture of strong LTR characters (e.g. letters) and neutral characters (e.g. punctuation). This combination results in the neutral characters going RTL, which is why you end up with things like “.solve them” and “→ ?What is this” rather than “solve them.” and “What is this? →”.
It’s demonstrating things that are commonly done wrong the other way (when the document says it’s LTR, but contains RTL text).
There are philipino and indonesian scripts which ars written bottom-to-top, though they are read left to right.
Ogham is bottom to to though.
I think there’s also a script which is read and written based on cardinal directions, but i can’t find it. I was expecting it to be indigenous australian (as several IA people use absolute directions as a matter of course).
From the site:
> Arabic is Right-to-Left. There are about 19 Arabic-speaking
> countries in the world with combined population close
> to 350 million speakers.
What happens in practice:
> Arabic-speaking 19 Arabic is Right-to-Left. There are about
> countries in the world with combined population close
> million speakers. 350 to
Example: website of the President of Mongolia: https://president.mn/mng/
The old script is a very interesting test case, though. Since it's an alphabet, and it has varying letter shapes for different positions, as well as ligatures, it has all the same complexities as Western scripts - but then it's vertical on top of that. Few software can handle that well.
Precise symptoms vary by browser; in Firefox you’re likely to just get jumped from one end to the other very quickly (because it lets the JavaScript take over, and the JavaScript ignores the scrolling delta and jumps by a fixed amount on each event), while in Chromium horizontal scrolling doesn’t get destroyed quite so much, it just becomes flickery, because Chromium lets the JavaScript change the scroll position (turning your 1px scroll into a big jump) and then changes it back, apparently. I haven’t investigated why.
I consistently say that scrolljacking is always bad, because it’s simply not possible to get it right (the web doesn’t expose the right primitives to make it work). This is one of the exceptionally few cases where carefully limited scrolljacking of vertical scrolling to horizontal might be warranted (though it’d still be severely imperfect because the web doesn’t have the right primitives to make it work properly), because of comparatively poor support for this text direction on some devices, but the implementation employed is awful, making it work tolerably for old coarse-scrolling mice while ruining it for newer hardware.
* Two-finger scroll on my touchpad, moving horizontally
* Middle clicking with the mouse so the scrolly icon thing comes up (it shows as a left-right icon rather than the normal up-down one) and then gently moving the mouse left and right
(Upgraded to 89, symptoms are the same, or possibly even worse on horizontal scrolling, but I can’t compare it any more because downgrading is more trouble than it’s worth. And also I broke something as part of the two-years-of-upgrades jump and it won’t boot for now. First time I’ve managed that: achievement unlocked! :-) )
I wonder what UI design would be like for that.
More precisely, newspapers, most books (except technical/scientific ones) and magazines are written in the vertical form. Comics too. Business documents are typically all horizontal.
Also they have a uber-complex w3c standard (draft) to support this system: https://w3c.github.io/jlreq/#vertical_writing_mode_and_horiz...
Why past tense? Traditional Chinese is still written this way in Taiwan and I think to a degree Hong Kong. I purchased a copy of Three-Body Problem typeset this way while staying in Taiwan three or so years ago.
Relatedly, the TB-RL[0] system leads to some fun confusing cases for beginner learners, where in the city you may see signs for cafes or restaurants with text apparently written horizontally, but backwards. In fact, it’s just like the vertical signs on sides of buildings in the US, but in this case the sign uses TB-RL: each letter is on a new line, and lines go right to left.
[0] Top-to-bottom, right-to-left.
I don't know any of the languages so I don't know if the problems presented here apply to Wikipedia but it's a cool demonstration regardless.
Everything comes out nicely right to left.