Blender and accessibility for people with disabilities

hello, I’ve been wondering recently if blender has any plans to try and make blender more accessible for people with disabilities, a good example is the gaming industry, a lot of new games are starting to have settings for people with disabilities, like a color blind mode, toggle buttons, less complex key combinations and more on screen controls etc,

don’t get me wrong i don’t want to limit blender in any way for normal users, just a special settings panel for people with disabilities would be a great addition to blender, i feel like blender has the opportunity to set the standard for accessibility in the 3d/vfx industry, from personal experience as a disabled person blender is already very accessible if you’re creative with the use of micros and special hardware like a 6DF mouse,

i tried using cinema 4d & Houdini and i couldn’t even make a cube due to the lack of accessibility :laughing: even in substance painter you can’t move the viewport because it doesn’t have on screen controls for moving it, you just have a complex key combination for moving it,

anyway sorry for rambling, i just hope the 3d/vfx would be more aware of those issues, although i don’t blame them because we’re a very small minority, i wish blender would lead the way on this front and other industry software notices and follows suit.

Thanks for reading

9 Likes

Key combinations have been simplified and shortcuts are heavily reduced.

I think the most important thing is for people with disabilities like yourself to come forward and describe in some detail what they find difficult to do in Blender and how we can help them.

And you are not rambling I am pretty sure other devs would agree with me that indeed we want blender to be welcoming for any user.

6 Likes

Here’s a couple of resources that might help the developers

it’s very gaming focused but i think it can fit into 3d software as well, because it seems like there’s 0 resources about accessibility in the 3d/vfx industry.

for me personally i tried looking for a way to make some keys act like a toggle, example (toggle the shift key on so i can add stuff to my selection then toggle it off by pressing it again) but i couldn’t find anything, i might be missing something though

edit: i can still easily select multiple objects by right clicking them in the outliner or C select or the box select tool so it’s not impossible to do and it’s great that blender has that many options, but toggle shift would still be more convenient to have

2 Likes

Yes, we should focus on this more. There are many examples of design that has taken disabilities into account, and which has resulted in designs that end up being better for everyone.

Look at the OXO Good Grips as an example of this. Not software, but the philosophy is applicable to anything.

https://go.tiny.cloud/blog/when-we-design-for-disability-we-all-benefit/

5 Likes

Thanks for this, will have to do more research but from a first pass it looks like customisability is key here because each person has diffirent needs.

I will integrate some of these ideas to the extend I can for my commercial fork of Blender and see if I can contribute some of them back to the Blender main repository. I have to confess I never considered accessibility when you mentioned it I thought it will be very hard and specific, but the suggestions actually can be helpful even for people without disabilities and they are very reasonable.

In any case I think slowly and steadily we can improve Blender in that area , does not look that hard.

3 Likes

I am only able to use the mouse and keyboard using one hand.

Here is my solution using xbindkeys.

;;   This configuration is guile based.
;;   http://www.gnu.org/software/guile/guile.html
;;   This config script is supposed to live in the homedirectory.
;;   Install deps
;;   sudo apt install xbindkeys xdotool xvkbd
;;   Test it
;;   xbindkeys -n -fg ~/.xbindkeysrc.scm
;;   Run it in background
;;   xbindkeys -fg ~/.xbindkeysrc.scm

(define shift-held #f)

(define (bind-mousebutton9)
    "Bind mousebutton 9 without and with shift"
    "Run xev and click using the button in the window to get mouse button number"
    (xbindkey-function '("b:9") button9-toggle-shift)
    (xbindkey-function '(shift "b:9") button9-toggle-shift)
)

(define (button9-toggle-shift)

(if shift-held
    (begin
        (run-command "zenity --notification --text=\"Shift released\" &")
        (run-command "xdotool key ctrl key alt key shift key super &")
        (set! shift-held #f))
    (begin
        (run-command "zenity --notification --text=\"Shift held\" &")
        (run-command "xdotool keydown shift")
        (set! shift-held #t))))

;; (debug)
(bind-mousebutton9)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; End of xbindkeys configuration ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2 Likes

4-5 years ago I was making that kind of research, trying to minimize toolset and accessories to design organic modeling and retopology process.

Here is a very huge question in workflow design - what is actual difference between game and work.
For example, some of architects uses SimCity to make concepts, and we are living in time when games looks like that.

Thus, this research was an attempt to obtain a gamification approach to the retopology process, or maybe, even retopology game concept.
Now I can say that it is possible to make such models with gamepad (logitech f310) and mouse (logitech g300s) in Blender using stripes modeling workflow.

This was an interesting experience for me. I still prefer keyboard+mouse, but the limitations during the research significantly accelerated the process by identifying a series of interesting solutions.

2 Likes

I use this 3D mouse to control the viewport and this app to type using my phone keyboard and it works pretty well for me, although i tried 2.83 recently and the 3D mouse was behaving differently, i hope it’s just a problem with the settings and not a change in how blender handles 6DoF input

As a colourblind person who is trying to solo dev a small game a colour assist function would be a god send and a time saver

1 Like

Hi all,

I’m so glad to have found this thread. I’ll share some of my story, too.

Due to my muscular dystrophy, my muscles get weaker over time. I often have trouble using tools the way they were built, so I’m always looking for creative workarounds and shortcuts.

I studied product design and engineering, and for my whole life, I’ve had a passion for making art. When I heard about Blender, I loved its promise: Create any 3D image you can imagine, without needing the physical strength to lift canvases or operate lathes. For the past few years, I was learning as much Blender as I could. Some things were quite difficult because I wanted to do them in non-standard ways (e.g., with an Apple Magic Mouse instead of a 3-button mouse), but I did my best to find or design solutions.

Then, a few months ago, I lost another muscle in my stronger hand. This means I can no longer use the computer setup I used before. Typing this message takes much more effort than it ever has. But rather than give up, I’m now even more motivated to find more accessible ways to use computers and Blender. I was especially encouraged by this video of someone with a spinal cord injury using a different CAD program (https://www.youtube.com/watch?v=TSIABD6dU1U). I have tried a head mouse similar to his, but I’m finding that it’s not a silver bullet, and I think there are ways the design of Blender itself could reduce the strain on my muscles.

I think @kilon is exactly right that customizability is key. For example, the Flip Region option is great for putting headers or toolbars in a place that might be easier for someone to reach. But what if we could change not just whether the header buttons are on the top or bottom, but also whether they’re left-aligned or right-aligned?


In this screenshot, all the controls are centrifuged to the far corners of the window. I would love a way to condense them to one corner or the other, so that I wouldn’t have to move my mouse as far to reach them.

Another topic is menus that appear under the cursor, such as context menus and radial menus. I’m not sure if Blender was the first program to have these, but I think they’re ingenious. I love how they minimize the distance my mouse has to travel, and I love how some of them remember my most recent selection and move the menu to that place. How else could we take advantage of this design? What if we could bring up the keyboard layout itself under the cursor? What if a radial menu could be layered like linear menus are, and I could use the first layer to choose A, and a second layer to choose Shift A?

Thank you so much for what you do to make Blender such an amazing tool. It’s truly a 3D artist’s dream.

3 Likes

This might be of interest. GSoC 2020: Custom Menus - Weekly Reports

2 Likes

Adding just ONE more theme would take care of several issues for a fairly large group of visually impaired users.

There is a loss of “contrast sensitivity” with age* because the lens passes less light in the blue range. Night vision is impaired, and it also affects distinguishing low contrast, like Blender’s tiny grey text on darker grey background.

A high contrast theme with black text on white background, higher resolution scale, and thicker lines (set in the prefs) would be a good starting place.

This theme is close to what I have in mind.

  • Also with cataracts, glaucoma, some astigmatism, diabetes and some eye injuries such as UV burns and drug side effects. It’s not a small group, and not just “old people”.

4 Likes

A thing of beauty, Tsu!
I tried using Blender on a HD TV. Unusable. Just got a UHD monitor. Unusable on that too until I installed your theme. I just made the fonts to “14 point”, which is similar to all the other text on my screen.

I am legally blind / have low vision. I still have a lot of functional vision, but reading text is very hard for me. I use VoiceOver on the Mac with both keyboard and mouse navigation. With mouse navigation, I have the computer read out whatever text the cursor hovers over. In this way, I can quickly navigate most any app (as long as it is accessible).

Unfortunately, it doesn’t look like Blender is even visible to VOiceOver on MacOS Monterrey. (Blender 2.9.3).

As it currently stands, I cannot even use blender. If blender were to add accessibility tags to all of the menu items and controls, I would be able to very easily use the entire program. I would hope this is relatively simple change to make, and is just a matter of ensuring that the displayed button/control labels are also populating the accessibility label field, but I’m not sure what UI Frameworks blender is using.

I was really excited to start using blender for a new creative project, but right now I’m at a roadblock. Any help would be greatly appreciated.

1 Like

I’m afraid this is quite hard to do. Because blender doesn’t use any OS user interface code but draws everything itself. So to the OS, the whole blender window is just one big Opengl surface.

But then I’m not really knowledgeable in this topic, so hopefully someone can prove me wrong.

As a multi platform OpenGL app everything we draw is quite hidden from screen readers. Without cross-platform open source libraries available I can’t think of a feasible way of interacting with existing screen readers.

But it might be possible to move toward the option of self-voicing. Right now if you hover over almost any interface item there is quite a wealth of information about it. Rather than wait for the tooltip hover timeout we could send this data immediately to a Python hook or callback as you move your mouse over it. Then an add-on could be made that listens to this and sends it to a speech synthesizer.

1 Like

It’s an interesting topic, for sure. It would be very nice to do this right, but the lack of cross-platform standards make it unreasonably hard.

But that might be a good thing to do (creating a callback/hook on the tooltip path) . It would still need lots of work from someone but at least there would be a way.