Improve accessibility


I’m blind and using seafile for a few months. Generaly it works, but many things are tricky and not usable for blind people who are not so familiar with the computer. So here are some things that should be changed.


In all user interfaces, every element should be labeled. Every button, textfield, radiobutton, checkbox … This is the most important problem, but there are some more.

I am not sure I can name every problem, because I don’t notice every button, so there may be functions I don’t know about.

of course I am willing to answere questions or test fixes. I am not familar with GUI programming, but I used C, Python, HTML and a bit Javascript yet.

iOS Client

I am not familiar with programming for iOS, but here is a helpfull link about accessibility in iOS:
https:// com/ design/human-interface-guidelines/accessibility/overview/introduction/ (sorry for the spaces, I am not allowed to include links.)

Most things work good, but some elements are not labeled and the systemwide gestue to reload dosen’t work

Web interface

Please use HTML 5 Tags like header, main, aside, footer, article …

In the library-table the actions-column is interpreted as emty by the screenreader, so it is not focused by pressing tab. I can manualy navigate there and click, but this is not very easy. I think using a real button or an labeled onclick-element would work here.

Windows syncing Client

I can only access the library-tree, but not the Information about the libraries, the search-ffield, the accounts-menue and I can switch between the libraries-page and the favorites-page. reload, new etc aren’t accessible.

Oother clients

I don’t use one of the other clients, so I can’t test, but I think, there will be similar problems.

best regards

1 Like

Hi @Henning

Thank you for your suggestions! I appreciate the efforts you took to test Seafile and write down the feedback. We’ll gradually improve our accessibility support. Some work has been done in the past few years, but I know there are still many cases to fix.

Issue 3813 was opened last year which describes some of these problems:

I’m currently trying to fix some of these problems. Unfortunately, the instructions say to deploy seafile server from source, which links to build_seafile/server.html. The page no longer exists. (these are not the full urls, the forum complains if I try to include the links properly)

I’d appreciate any help in getting this working, as it would be hard to fix this without being able to run the client from source.

I’m doing development on a Windows machine.

The instruction on how to build Seafile development environment has been updated:

Will try it out.

Are there any plans on simplifying this further such as e.g, by having a docker-compose which starts a docker container with the server running to automate these steps?

I also noticed that the web frontend is also built and ran in the same container. Is it your usual workflow to make any changes to the frontend source code inside this container? Or is there an easy way of just running the server in the docker container, and running the web gui separately?

Managed to set up the container.

I’m currently mounting the source code for the frontend on the host into the container and running the server + frontend inside the container.

However, modifying any files (in my case, frontend/src/components/icon-button.js) doesn’t trigger a reload of the server. Neither does killing the server and starting it again helps - it is serving assets out of the media folder, which seems to be pre-built files so my changes wouldn’t be reflected there. How do I see the effect of my changes?

I’ve also tried going into the frontend folder and doing npm run build, then restarting the server on port 8000 to no avail.

Using docker container as development environment is just a convenient way for testing the deployment process. The deployment document only explains the key steps. Developers can change the development environment at will.

I will add the steps for the front-end development environment in these days.

Thanks! I do like working in Docker so that isn’t an issue for me.

Please post a link to it once its done :smile:. I’ve fixed some of the missing labels and just need to be able to run the gui with my changes to verify before submitting a PR.

@lian got a link to share for the instructions on how to run the frontend for testing out development changes to it?

Hello, I have been busy recently, I will update it this week.

Please accept my apologies for being so long with a response.

I just updated the manual:


The container should listen 3000 port too.

docker run -it -p 8000:8000 -p 8082:8082 -p 3000:3000 --name seafile-ce-env ubuntu:18.04  bash

I’m not able to get anything to show after clicking on login - the browser just waits for a long time for a response. I also don’t see any logs (besides listening to port 3000) when I choose npm run dev.

I’ve also ran the command to expose port 3000.


are there any steps forward yet? Or any questions? As offered, I am willing to help as I can, also with testing fixes.

Best regards