Closed Bug 221396 Opened 22 years ago Closed 20 years ago

layout.scrollbar.side should be defaulted to 1 for expected RTL scroll placement

Categories

(Core :: Layout: Text and Fonts, defect)

defect
Not set
minor

Tracking

()

RESOLVED WONTFIX

People

(Reporter: alon.barlev, Unassigned)

References

()

Details

(Whiteboard: INVALID)

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5) Gecko/20030916 Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5) Gecko/20030916 try the html document in "Additional information" box, you will notice that the scroll bar is located at the right, like normal left-to-right document, where it should be displayed at the left. Reproducible: Always Steps to Reproduce: 1.copy the html document in the "Additional information" 2.view it using mozilla. 3.notice the scroll bar location. Actual Results: Scroll bar is at the right. Expected Results: Scroll bar should be at the left. <html dir=rtl> <body> <p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p> <p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p> <p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p> </body> </html>
Actually, as I recall, the consensus was that scrollbars, being part of the browser UI and not part of the page, should be on the side where the UI user wants them to be, no matter what direction the page is in. I can't find any other bug reports to that effect, but I distinctly remember discussing this with people...
Thank you for such a quick response! The scrollbars should be at the end of the text. Because of that in left-to-right (originating English) document the scroll bars are on the right. If you follow that rule you get scroll bars on the left for right-to-left documents. Let&#8217;s say you have two frames, one that is an index, and the other is a document. You can notice that if you follow the rule that the user chooses the scroll bar location, one of the formats misbehaves. ltr (scroll bar at the end of text) +--+--------------------+ | | ^ | | | | | | | | | | | v | +--+--------------------+ rtl (incorrect, scroll bar is at same position as ltr) +--------------------+--+ | ^| | | || | | || | | v| | +--------------------+--+ rtl (correct, scroll bar at the end of text) +--------------------+--+ |^ | | || | | || | | |v | | +--------------------+--+ you should apply the format based on the <html dir="xxx">. you can see the same (correct) behavior of <select> element... the scroll bars are always at the end of the text (rtl and ltr).
The argument, though, is that scrollbars should be on the same side for all windows on the system, since that is the most user-friendly for the user. If a Hebrew user is used to having scrollbars on the left (as he would, since all other applications on Hebrew systems have scrollbars on the left hand side), having the scrollbars switch to the right hand side when he is viewing Google search engine results would be quite confusing. In terms of user interface, consistency with the rest of the windowing system is considerably more important than consistency with the direction of text inside the window itself.
Whiteboard: INVALID
I understand the claim... But even in windows all ltr applications have scrollbars at the right, and rtl applications have scrollbars at the left... Hebrew user expect Hebrew application the behave differently (From your standing point) but constantly from their stand of point. The rule is simple... The scrollbars should be at the *END* of the text... So if I enter www.google.com I see English application with the scrollbars on the right. But if I enter www.google.co.il I see Hebrew application with the scrollbars on the left. This is the expected behavior from the user stand of point. You can test this using IE... Or at the primitive notepad application... if you open ltr or rtl documents... Thanks!
Actually, the application you see is the web browser. Whether it's Hebrew or not does not depend on the page loaded in the content area...
Yes it is... If <html dir="ltr"> (default) the major direction of the document is ltr and as such scrollbar for the main document is at the right. If <html dir="rtl"> the major direction of the document is rtl and as such scrollbar for the main document is at the left. You are correct... the browser is just a place holder... But the application whose running in-side the browser select the major direction... The application should be allowed to control the browser and to be seen like every other application. Look at IE... a good example. Alon.
Actually, the browser is NOT just a placeholder, and the web page being viewed is not an application. The browser is an application that allows viewing of content. The user controls the browser. The content only controls the browser to the extent that the user allows. This is a fundamental philosophical difference from IE, which acts more along "the content controls the browser, the user, and if possible the OS" grounds. So please don't bring up the "IE does it" line.
OK. Sorry. If it is a fundamental philosophical issue, I cannot argue with it. But! I know the BIDI philosophical issues... and you are not following them. The content is right-to-left (yes... if you like content and not application), the browser is aware of it... (by the html tag)... and there are some BIDI rules to follow... (and if you like it or not IE follows them). Don't be mistaken... I want to use Mozilla! I want others too! I just wanted to note that issue which causes Mozilla to behave differently than expected. If you figured it all out already... I am sorry I had mentioned it. Keep up with the good job! (I mean it!) Alon.
Note that in the Hebrew localization of Mozilla, the scrollbar *is* on the left (even when viewing LTR content). I am marking this WONTFIX rather than INVALID, since I accept that you can argue a good case either way.
Status: UNCONFIRMED → RESOLVED
Closed: 22 years ago
Resolution: --- → WONTFIX
Thanks!!!
(In reply to comment #9) > Note that in the Hebrew localization of Mozilla, the scrollbar *is* on the left > (even when viewing LTR content). > > I am marking this WONTFIX rather than INVALID, since I accept that you can argue > a good case either way. My only problem is that I am working on a Hebrew-English translation, where the Hebrew takes president over the English text. So it would be "nice" to have the Hebrew-English pages in their frames contain Hebrew's right-to-left orientation and vise versa for pure English. I am sure however that if someone reads the translation from left to right it will be difficult to understand and they will figure out to drag the horizontal scrollbar to the right on every page that requires it. Wouldn't it be "wise" to have a generalized browser where all languages can be displayed conveniently no matter what localization it happens to be? So for example in Israel where most people speak both Hebrew and English, they can create pages or view pages with English such that the scrollbars are mirror images of their Hebrew pages given that the tag <html dir="ltr"> exist.
Hello, I had a long argument with some developers here... Nobody agreed that the place of the scrollbar should be affected by text layout. I guess all/most are not native RTL language speakers... So the importance is not understood. This is a very annoying missing feature in Mozilla/Firefox... I gave up two years ago... Maybe it is the time to reopen this to get an updated response? Alon.
Status: RESOLVED → UNCONFIRMED
OS: Windows 2000 → All
Hardware: PC → All
Resolution: WONTFIX → ---
I'm not sure that I fully understand comment 11, but it seems to be about a different issue, mentioned in the comments of bug 6976: in a rtl page that is wider than the viewport, the horizontal scrollbar should initially be scrolled all the way to the right (i.e. at the right-to-left 0 x-coordinate). This bug is about whether the vertical scrollbar should be located on the left or right hand edge of the window.
Hello, I think that the whole RTL layout should be reworked. Horizontal scroll bars should be at the end of text, Vertical scroll bars should initially be at the start of the text. The behavior of the container should be depended on the <html dir=> attribute, so RTL languages be displayed properly. dir="LTR"/default: Horizontal scroll bar at the right of frame, vertical scroll bar starts on the left. dir="RTL": Horizontal scroll bar at the left of the frame, vertical scroll bar starts on the right.
I am so sorry! messed up Horizontal/Vertical In my last comment :(... Please disregard. So here it goes... Hello, I think that the whole RTL layout should be reworked. Vertical scroll bars should be at the end of text, Horizontal scroll bars should initially be at the start of the text. The behavior of the container should be depended on the <html dir=> attribute, so RTL languages be displayed properly. dir="LTR"/default: Vertical scroll bar at the right of frame, Horizontal scroll bar starts on the left. dir="RTL": Vertical scroll bar at the left of the frame, Horizontal scroll bar starts on the right.
Forget it. If people are going to keep reopening bugs that were discussed and WONTFIXED by the module owner, I want nothing to do with the bugspam.
Status: UNCONFIRMED → RESOLVED
Closed: 22 years ago20 years ago
Resolution: --- → WONTFIX
*** Bug 314205 has been marked as a duplicate of this bug. ***
*** Bug 330543 has been marked as a duplicate of this bug. ***
FWIW, I fixed this in bug 192767, mainly because I needed to fix the existing code to determine if a scrollframe was RTL to work for the root, and this was effectively a side-effect of that. However, it's trivial to undo (just change IsScrollbarOnRight to check mIsRoot), but it seems like there's some advantage to having the sides that the scrollbars are on be consistent with the directions to which the user can scroll, and that there's also an advantage to being consistent for scrollbars inside of the page and scrollbars for its canvas. There are arguments on the other side, too.
Thanks David! I am looking forward to see it in action! Which version will this fix be available?
***************************************** ######################################### ***************************************** The Problem for the latest relase of FireFox, is that the Lower Scrol Bar does not appear at all for all rtl (right to left Languages).... Sample in Real Life >>> http://www.inshad.com/forum/ The Only Way i was able to make it appear is to edit some files in the FireFox Directory..... First i opened the file named "html.css " located in FireFox Folder C:\Program Files\FireFox\res\html.css open it , and around line 42 you'll see the following code [dir="rtl"] { direction: rtl; unicode-bidi: embed; replace it with /*[dir="rtl"] { direction: rtl; unicode-bidi: embed;*/ this will not make the page as nice as it is supose to be , but it shows the lower Scroll Bar...every thing was OK with the page except the page flow direction..... instead of it being from right to left it switched every thing from left to right. in other the design that designs on the right side switch place with the ones in the left side, the middle is as is. ***************************************** ######################################### *****************************************
*** Bug 356838 has been marked as a duplicate of this bug. ***
Don't follow the advice in comment 21 - it's plain wrong. If you want the scrollbar to follow the direction of the web page you can change the pref layout.scrollbar.side to 1 in about:config See http://kb.mozillazine.org/Layout.scrollbar.side
Component: Layout: BiDi Hebrew & Arabic → Layout: Text
QA Contact: zach → layout.fonts-and-text
Assignee: mozilla → nobody
(In reply to Mats Palmgren (:mats) from comment #23) > Don't follow the advice in comment 21 - it's plain wrong. > > If you want the scrollbar to follow the direction of the web page you can > change the pref layout.scrollbar.side to 1 in about:config > See http://kb.mozillazine.org/Layout.scrollbar.side actually this bug is fixed just not the default, I did not notice this comment, so since 2007 we can set layout.scrollbar.side to get expected behavior for RTL langauges. can anyone mark this as FIXED?
That's NOT a fix. You can't expect visitors of an RTL website to fiddle with a setting in about:config. It's a dirty workaround at best.
Not everyone necessarily wants the scrollbar to follow the direction of the web page; some users prefer it to conform to the direction of the browser's user interface, regardless of the content. So we can't "fix" this without "breaking" things for other users. For those users who would prefer the scrollbar-follows-page-direction behavior, perhaps someone could help out by creating a little add-on that provides it (without the need to visit about:config).... or maybe such an add-on already exists.
(In reply to Jonathan Kew (:jfkthame) [PTO, back March 2nd] from comment #27) > Not everyone necessarily wants the scrollbar to follow the direction of the > web page; some users prefer it to conform to the direction of the browser's > user interface, regardless of the content. So we can't "fix" this without > "breaking" things for other users. > > For those users who would prefer the scrollbar-follows-page-direction > behavior, perhaps someone could help out by creating a little add-on that > provides it (without the need to visit about:config).... or maybe such an > add-on already exists. Most users expect the scroll match the content, this why this bug was opened. The simple proof is having frames and scrollback at the *MIDDLE* of the content, see comment#2. The default should be 1, while users who prefer fixed location for some reason should perform customization.
To put it differently: it makes no sense to force the scrollbar to the right for RTL content. This is every which way as weird as having a scrollbar at the left for LTR content.
Summary: When viewing right-to-left document scrollbar should be on the left. → layout.scrollbar.side should be defaulted to 1 for expected RTL scroll placement
Hi, I came here googling for how to get the browser to properly display the scrollbar on the opposite side for RTL webpages. What I found instead a bug that's "RESOLVED WONTFIX". Agreeing with Alon Bar-Lev, Martijn and Muhammad Hussain and the I-don't-know-how-many users from RTL-script-using communities who'll never in their lives even find out what a "Bugzilla" is. Please, Mozilla, consider your WONTFIX decision - you might not realize (and I know that you're not acting out of bad intentions) but software behaviour such as this is exactly what makes computers in 2018 still feel like embodied imperialist, collonialist, arrogance. Please excuse the harsh language above, but do think it is justified. Looking forward to your reply! Kind regards, Jonathan
Flags: needinfo?(jfkthame)
Do the localized versions of Firefox in Arabic/Hebrew/Persian/Urdu display the vertical scrollbar on the left? (According to comment 9, it sounds like they probably do, but that was a long time ago and many things may have changed since then.) Regarding how the English version behaves, I believe you can choose the behavior you're asking for by setting layout.scrollbar.side to 1, but the default is to behave like most English-language applications, with scrollbars on the right. I understand you think it should (by default) follow the directionality of the content rather than of the user interface, but that's a debatable point -- as illustrated by the discussion above.
Flags: needinfo?(jfkthame)
> but that's a debatable point -- as illustrated by the discussion above. A voice from the past... this is not debatable. Scroolbars should be at the end of the text, period. The container is aware of the direction (LTR, RTL) so it must comply. The behavior of layout.scrollbar.side=1 is the expected behavior per default processing. Lot's of complains... However, for people who do not actually native RTL language it seems so hard to understand. Microsoft has done this right in internet explorer and edge, mozilla has done this right (eventually) but default is incorrect, chrome is still behind[1], I just checked this again. [1] https://bugs.chromium.org/p/chromium/issues/detail?id=6113
WOW! 15 years... More references for Chrome: https://bugs.webkit.org/show_bug.cgi?id=54623 https://bugs.webkit.org/show_bug.cgi?id=84026 I almost sure that at a point in time khtml which was the base of webkit got it right in Konqueror.
You need to log in before you can comment on or make changes to this bug.