Bug 458037 - Ability to change the thickness of Breeze scrollbars
Summary: Ability to change the thickness of Breeze scrollbars
Status: REOPENED
Alias: None
Product: Breeze
Classification: Plasma
Component: QStyle (show other bugs)
Version: 5.24.4
Platform: unspecified Linux
: NOR wishlist
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords: accessibility
Depends on:
Blocks:
 
Reported: 2022-08-18 16:16 UTC by rik
Modified: 2024-09-08 20:52 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
default breeze settings (121.49 KB, image/png)
2022-09-07 18:12 UTC, rik
Details
breeze with updated non default Oxygen scrollbars (139.81 KB, image/png)
2022-09-07 18:13 UTC, rik
Details
Current Oxygen Scrollbars setting (129.25 KB, image/png)
2022-09-08 01:09 UTC, rik
Details

Note You need to log in before you can comment on or make changes to this bug.
Description rik 2022-08-18 16:16:24 UTC
SUMMARY

Unlike other DEs, or even GTK+ applications running under KDE, it is currently impossible to set a global scrollbar width or configure scrollbar steppers.  This becomes an accessibility issue, especially for folks who, for whatever reason, lack fine motor control or less than perfect vision.

* Reconfiguring scaling is not a solution, as that causes all elements to scale.
* Using a mouse wheel is also not a solution, as not everyone is using a mouse with a scroll wheel, or even a mouse.
* Switching application styles is not a solution, since most/all styles have opted for thin or even hidden scrollbars.  Additionally, changing application style changes more than just scrollbars and may end up introducing new incompatibilities.

As more and more applications have switched from provided application specific scrollbar control to using the setting from the OS, the lack of this functionality has become more apparent and critical.

Previously this was reported in bugs such as [bug 440749](https://bugs.kde.org/show_bug.cgi?id=440749) which was marked as CLOSED/FIXED.  The bug may have been closed, but the issue has definitely not been fixed.


STEPS TO REPRODUCE
1. see that the scrollbar is too thin to be used in a KDE application.
2. search for a way to make it thicker
3. realize that you are just out of luck.

OBSERVED RESULT
Scrollbars remain too thin to be used

EXPECTED RESULT
Scrollbars are thick enough to be used, or have a simple setting to allow the user to adjust the thickness, and ideally stepper, of scrollbars.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 
KDE Plasma Version: 5.24.4
KDE Frameworks Version: 5.92.0
Qt Version: 5.15.3
Comment 1 Nate Graham 2022-08-22 23:45:47 UTC
Can you clarify how the scrollbars are "too thin to be used"? The actual bar itself is visually quite a bit thinner than its effective clickable area on either side of it. Taking those areas into account, the actual interactive area of our Breeze-styled scrollbars is actually quite thick--thicker than those in all alternative OSs that we tested.
Comment 2 Bug Janitor Service 2022-09-06 04:36:16 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 3 rik 2022-09-07 15:56:28 UTC
(In reply to Nate Graham from comment #1)
> Can you clarify how the scrollbars are "too thin to be used"? The actual bar
> itself is visually quite a bit thinner than its effective clickable area on
> either side of it. Taking those areas into account, the actual interactive
> area of our Breeze-styled scrollbars is actually quite thick--thicker than
> those in all alternative OSs that we tested.

I have fine motor difficulties and tremors.  I am limited to a large two button trackball.  Wherever possible, I set my scrollbars to be 30px wide, steppers at either end of the scrollbar, and a large amount of contrast (my eyes aren't as good as they used to be) typically dark blue for the slider and steppers and a pale color for the track itself.  Fortunately, many third party applications, such as Brave, Vivaldi, Firefox to a lesser extent, allow me to adjust the size, type, width, decorations, etc. of scrollbars.  Unfortunately, KDE doesn't provide such options for their native applications.

Having magical invisible active areas may sound cool, but is a complete non-starter from an accessibility standpoint.

Currently, colorations and controls are a frustrating exercise in trial and error installing (since none of them list all of the settings) countless themes to find the one that will hopefully cause the least amount of difficulty.  The color settings don't encompass all of the objects.  Frustratingly, application style is not standardized.  Some themes allow you to edit it, others don't.  Some allow say, scrollbar width to be adjusted, others like Breeze don't.  The "MS Windows 9x" application settings has some of the most accessible designs, unfortunately, it's locked and **nothing** can be adjusted in that application style.

So now, I'm stuck with scrollbars colored grey with a slightly darker grey track such that the slider almost disappears into the track and steppers that blend into the window frame.  In some cases, the scrollbar disappears until you get close enough so that it magically re-appears.  Like invisible active areas, might sound/look cool, just makes life more frustrating for some of us users.

At the moment I am using Breeze Dark, with the Oxygen application style, steppers turned on, and thickness set to 30px.  It's a bit of a mishmash and only *sort of* works.

What would help would be a standardized way to alter the UI, coloring, thickness, inclusion or exclusion of elements (like scrollbar steppers), behavior (like disappearing scrollbars). 

Don't make assumptions based on what a person without difficulties can do.
Don't limit users to what some programmer or designer  thinks is neat or cool.
Themes and application settings should **just** be convenient or artistic groupings of settings.  For many users choosing a theme/application style is all that they will ever do.
Users should never be dependent on the whims of a particular theme designer, limited to altering only those settings that the designer *allows* to be changed.

I hope that helps,
Comment 4 Nate Graham 2022-09-07 17:15:41 UTC
> Wherever possible, I set my scrollbars to be 30px wide
Breeze scrollbars are already wider than this, at 44px wide.

> Having magical invisible active areas may sound cool, but is a complete non-starter from an accessibility standpoint.
They are not truly invisible; hovering the cursor over the interactive part of a scrollbar will indicate as such, including the interactive areas on either side of the bar. In practice, you can visually tell when the bar is interactive. And, again, the interactive part of the bar is quite large at 44px wide.

> At the moment I am using Breeze Dark, with the Oxygen application style, steppers turned on, and thickness set to 30px.  It's a bit of a mishmash and only *sort of* works.
With this set of settings, your scrollbars are actually thinner and harder to click than the default Breeze ones which are 44px wide, and the visual contrast is worse due due to cobblling together such a set of semi-incompatible settings.

In conclusion, what you want scrollbars with large interaction areas) is already the case with Breeze, and I recommend that you just use it rather than cobbling together something that actually has worse usability.

I can understand the desire for customization in the name of accessibility, but I'm afraid you've demonstrated that you've used the customizability we provide to make something less functional, less usable, and less accessible than the status quo is, which was designed from the start to accommodate people who prefer wide scrollbars that have a large interaction area.
Comment 5 rik 2022-09-07 18:12:06 UTC
Created attachment 151901 [details]
default breeze settings

Here is dolphin with the default breeze scrollbar settings.
Comment 6 rik 2022-09-07 18:13:32 UTC
Created attachment 151902 [details]
breeze with updated non default Oxygen scrollbars

Here is dolphin with breeze and altered Oxygen scrollbar settings.
Comment 7 rik 2022-09-07 18:17:19 UTC
(In reply to Nate Graham from comment #4)
> > Wherever possible, I set my scrollbars to be 30px wide
> Breeze scrollbars are already wider than this, at 44px wide.
> 
> > Having magical invisible active areas may sound cool, but is a complete non-starter from an accessibility standpoint.
> They are not truly invisible; hovering the cursor over the interactive part
> of a scrollbar will indicate as such, including the interactive areas on
> either side of the bar. In practice, you can visually tell when the bar is
> interactive. And, again, the interactive part of the bar is quite large at
> 44px wide.
> 
> > At the moment I am using Breeze Dark, with the Oxygen application style, steppers turned on, and thickness set to 30px.  It's a bit of a mishmash and only *sort of* works.
> With this set of settings, your scrollbars are actually thinner and harder
> to click than the default Breeze ones which are 44px wide, and the visual
> contrast is worse due due to cobblling together such a set of
> semi-incompatible settings.
> 
> In conclusion, what you want scrollbars with large interaction areas) is
> already the case with Breeze, and I recommend that you just use it rather
> than cobbling together something that actually has worse usability.
> 
> I can understand the desire for customization in the name of accessibility,
> but I'm afraid you've demonstrated that you've used the customizability we
> provide to make something less functional, less usable, and less accessible
> than the status quo is, which was designed from the start to accommodate
> people who prefer wide scrollbars that have a large interaction area.

I don't think you are using the same KDE that I am using.  I've attached a shot of dolphin with the default breeze settings and scrollbars.  I've also attached a shot of dolphin with the Oxygen application style whose scrollbar settings have been modified.

Looking at those two images you can't honestly tell me that the breeze default has wider scrollbars and more accessible scrollbar steppers than the modified version, can you?

And why did you close this bug without even attempting to fix it?
Comment 8 Nate Graham 2022-09-07 18:19:52 UTC
"A picture says a thousand words!"

You said you set the Oxygen scrollbars to 30px, but I measured it in your screenshot with KRuler, and the bar itself is clearly 50px thick, with the track (including extra invisible click areas on the side, like Breeze) being 64px thick.

So I gather you would like the scrollbars in Breeze to be as thick as you've set them in Oxygen?

> And why did you close this bug without even attempting to fix it?
Because we first need to establish that there *is* a bug, or a legitimate feature request. Before, we weren't there, because you indicated that you had set your scrollbars to a size that's smaller to the default size while simultaneously asking for the ability to make them bigger--two actions that are contradictory. With your image helping to explain the situation, we're closer to the goal of figuring out something actionable here.
Comment 9 rik 2022-09-07 18:54:27 UTC
(In reply to Nate Graham from comment #8)
> "A picture says a thousand words!"
> 
> You said you set the Oxygen scrollbars to 30px, but I measured it in your
> screenshot with KRuler, and the bar itself is clearly 50px thick, with the
> track (including extra invisible click areas on the side, like Breeze) being
> 64px thick.
> 
> So I gather you would like the scrollbars in Breeze to be as thick as you've
> set them in Oxygen?
> 
> > And why did you close this bug without even attempting to fix it?
> Because we first need to establish that there *is* a bug, or a legitimate
> feature request. Before, we weren't there, because you indicated that you
> had set your scrollbars to a size that's smaller to the default size while
> simultaneously asking for the ability to make them bigger--two actions that
> are contradictory. With your image helping to explain the situation, we're
> closer to the goal of figuring out something actionable here.

I would like, need, to have the ability to (In reply to Nate Graham from comment #8)
> "A picture says a thousand words!"
> 
> You said you set the Oxygen scrollbars to 30px, but I measured it in your
> screenshot with KRuler, and the bar itself is clearly 50px thick, with the
> track (including extra invisible click areas on the side, like Breeze) being
> 64px thick.
> 
> So I gather you would like the scrollbars in Breeze to be as thick as you've
> set them in Oxygen?
> 
> > And why did you close this bug without even attempting to fix it?
> Because we first need to establish that there *is* a bug, or a legitimate
> feature request. Before, we weren't there, because you indicated that you
> had set your scrollbars to a size that's smaller to the default size while
> simultaneously asking for the ability to make them bigger--two actions that
> are contradictory. With your image helping to explain the situation, we're
> closer to the goal of figuring out something actionable here.

I would like to, no need to, have the ability to alter the UI.  Change to scrollbar width, the existence of steppers, the ability to keep them from auto hiding, the ability to change the color of the track, the slider, the steppers.  

Having invisible active areas doesn't help.  Having to hover, is next to impossible.   As I mentioned earlier right now there's a limited set of things you can change, it isn't always listed just what any particular theme or application style author has set things to or what they are _allowing_ end users to change.

The end of my comment  timestamped 2022-09-07 15:56:28 UTC has a listing of what I believe would be helpful.

thanks.
Comment 10 rik 2022-09-08 01:09:28 UTC
Created attachment 151910 [details]
Current Oxygen Scrollbars setting

As you can see in the scrollbars setting I have currently set for the width of the scrollbar, it's set to 30px.  This is the setting used (and still being used) in the previous adjusted oxygen scrollbars in Dolphin.

I'm not sure what you are using to measure things, but as you can see this is what the KDE dialog shows me it is being set to.
Comment 11 rik 2022-09-08 01:13:07 UTC
Comment on attachment 151910 [details]
Current Oxygen Scrollbars setting

As you can see in the scrollbars setting I have currently set for the width of the scrollbar, it's set to 30px.  This is the setting used (and still being used) in the previous adjusted oxygen scrollbars in Dolphin.

I'm not sure what you are using to measure things, but as you can see this is what the KDE dialog shows me it is being set to.
Comment 12 rik 2022-09-08 01:14:00 UTC
(In reply to rik from comment #11)
> Comment on attachment 151910 [details]
> Current Oxygen Scrollbars setting
> 
> As you can see in the scrollbars setting I have currently set for the width
> of the scrollbar, it's set to 30px.  This is the setting used (and still
> being used) in the previous adjusted oxygen scrollbars in Dolphin.
> 
> I'm not sure what you are using to measure things, but as you can see this
> is what the KDE dialog shows me it is being set to.

comment accidentally duplicated for some reason. :/
Comment 13 ratijas 2024-07-25 15:14:43 UTC
However, you wrote from the start that global/display scaling is not an option. That's a bit surprising, since I figured scroll bars might not be your only UI challenge.

It is also surprising for me that Breeze is missing some of the Oxygen options, since is literally started as a fork. But every configurable option has its maintenance cost.

In the meantime you are better off using oxygen or display scaling.