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)
Core
Layout: Text and Fonts
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>
Comment 1•22 years ago
|
||
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...
| Reporter | ||
Comment 2•22 years ago
|
||
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’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).
Comment 3•22 years ago
|
||
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
| Reporter | ||
Comment 4•22 years ago
|
||
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!
Comment 5•22 years ago
|
||
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...
| Reporter | ||
Comment 6•22 years ago
|
||
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.
Comment 7•22 years ago
|
||
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.
| Reporter | ||
Comment 8•22 years ago
|
||
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.
Comment 9•22 years ago
|
||
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
| Reporter | ||
Comment 10•22 years ago
|
||
Thanks!!!
Comment 11•20 years ago
|
||
(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.
| Reporter | ||
Comment 12•20 years ago
|
||
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 → ---
Comment 13•20 years ago
|
||
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.
| Reporter | ||
Comment 14•20 years ago
|
||
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.
| Reporter | ||
Comment 15•20 years ago
|
||
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.
Comment 16•20 years ago
|
||
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.
Updated•20 years ago
|
Status: UNCONFIRMED → RESOLVED
Closed: 22 years ago → 20 years ago
Resolution: --- → WONTFIX
Comment 17•20 years ago
|
||
*** Bug 314205 has been marked as a duplicate of this bug. ***
Comment 18•20 years ago
|
||
*** 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.
| Reporter | ||
Comment 20•20 years ago
|
||
Thanks David!
I am looking forward to see it in action!
Which version will this fix be available?
Comment 21•19 years ago
|
||
*****************************************
#########################################
*****************************************
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.
*****************************************
#########################################
*****************************************
Comment 22•19 years ago
|
||
*** Bug 356838 has been marked as a duplicate of this bug. ***
Comment 23•19 years ago
|
||
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
Updated•11 years ago
|
Assignee: mozilla → nobody
| Reporter | ||
Comment 25•11 years ago
|
||
(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?
Comment 26•11 years ago
|
||
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.
Comment 27•11 years ago
|
||
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.
| Reporter | ||
Comment 28•11 years ago
|
||
(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.
Comment 29•11 years ago
|
||
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.
| Reporter | ||
Updated•11 years ago
|
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
Comment 30•7 years ago
|
||
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)
Comment 31•7 years ago
|
||
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)
| Reporter | ||
Comment 32•7 years ago
|
||
> 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
| Reporter | ||
Comment 33•7 years ago
|
||
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.
Description
•