Page MenuHomePhabricator

BookletLayout/booklet dialog: Safari 10/OSX doesn't show vertical scrollbar when system is set to always show scrollbars
Closed, ResolvedPublic

Description

As of v0.19.2, Safari 10 doesn't show vertical scrollbar in BookletLayout (in contrast to ”Process dialog (medium, long)“ for example).

T158610 Booklet dialog scrollbar missing in Saf - OOjs UI Demos 2017-02-20.png (301×503 px, 42 KB)

Expected result:
Scrollbar shown as indicator that there's overflowing content.

Event Timeline

I think OS X doesn't normally display scrollbars at all, unless you have a mouse connected.

There's a special treatment of scrollbar visibility on OS X, that's true. The issue is the inconsistency between browsers and dialogs in Safari though. As far as I understood, Chrome should behave similar in visibility.

I think OS X doesn't normally display scrollbars at all, unless you have a mouse connected.

As of OS X 10.12.1 (Sierra) the scrollbar isn't visible all the time even when the mouse is connected. The behavior with the touchpad and mouse connected is the same now, that is, the scrolling rectangle shows up when you scroll the page, and a scrollbar shows up if the mouse pointer is at the edge of the screen.

Scrolling rectangle when you scroll the pageScrollbar when the mouse pointer is at the edge
Screen Shot 2017-02-21 at 1.34.25 PM.png (367×557 px, 66 KB)
Screen Shot 2017-02-21 at 1.34.45 PM.png (369×582 px, 60 KB)

The issue is the inconsistency between browsers and dialogs in Safari though. As far as I understood, Chrome should behave similar in visibility.

Not able to spot any difference in behavior between Chrome 56 and Safari 10. Could you add instructions or a video to explain?

No, there is a clear difference between latest Chrome and Safari for me. It seems to be connected to .oo-ui-panelLayout-scrollable rules.

No, there is a clear difference between latest Chrome and Safari for me.

Could you add instructions or a video to explain?

@Prtksxna Continuous outlined booklet dialog is showing scrollbar on my Chrome/Firefox per default.
Process dialog (medium, long) shows scrollbar in Chrome/Firefox/Safari per default.
If you disable the transform property, it becomes immediately visible in Safari as well. With it enabled, it's never visible.

@Prtksxna Continuous outlined booklet dialog is showing scrollbar on my Chrome/Firefox per default.
Process dialog (medium, long) shows scrollbar in Chrome/Firefox/Safari per default.
If you disable the transform property, it becomes immediately visible in Safari as well. With it enabled, it's never visible.

In all these examples I don't see the scrollbar on default, and see it when I start scrolling. The behavior is consistent with my previous comment. What version of Mac OS are you on?

10.11.6 and “Show scroll bars” preference is set to “Automatically based on mouse or trackpad”.

Volker_E added subscribers: Elitre, Deskana, Esanders.

This is a Safari bug which is an issue with OOUI dialogs. If you turn off transform:translateZ(0) (the GPU hack) the scrollbars return. I'm not sure if there is a way around this, but pinging @Volker_E as he's played with the GPU hack recently.

@Esanders This together with my comment on T154385#3847196 our original way out might need to be critically revisited. Need to look if [[ https://stackoverflow.com/questions/39261456/reducing-scroll-jank-when-using-overflow-y-scroll/39377543#39377543 | will-change is an alternative solution ]] for both, Chrome and Safari.

Volker_E renamed this task from BookletLayout/booklet dialog: Safari 10/OSX doesn't show vertical scrollbar to BookletLayout/booklet dialog: Safari 10/OSX doesn't show vertical scrollbar when system is set to always show scrollbars.Dec 19 2017, 7:01 AM
Volker_E removed a subscriber: Browser-Support-Apple-Safari.
This comment was removed by Elitre.

Change 404608 had a related patch set uploaded (by VolkerE; owner: VolkerE):
[oojs/ui@master] PanelLayout: Remove buggy translateZ performance hack

https://gerrit.wikimedia.org/r/404608

Volker_E edited projects, added OOUI (OOUI-0.25.1); removed OOUI.

Change 404608 merged by jenkins-bot:
[oojs/ui@master] PanelLayout: Remove buggy translateZ performance hack

https://gerrit.wikimedia.org/r/404608

Volker_E claimed this task.
Volker_E triaged this task as Low priority.
Volker_E removed a project: Patch-For-Review.
Volker_E removed a subscriber: gerritbot.