Welcome gla11y, the user interface accessibility checker!

LibreOffice is designed with great attention to accessibility, to make the suite convenient and comfortable to use, and to cater to users with special needs. Last year The Document Foundation published a Tender to Implement Accessibility Improvements regarding user interface widgets that are added to the suite but which have accessibility shortcomings.

French company Hypra, which works on accessibility improvements in free and open source software, was awarded the tender. Today they are announcing the tool that they have developed – note that this tool is not targeted at end users of LibreOffice, but rather at developers. Of course, all users who have experienced accessibility issues in LibreOffice can benefit from it. Let’s hear what Hypra has to say…


Making LibreOffice usable by everybody, including disabled people, is a must so that anyone can work on documents for their own uses or their daily job. Accessibility concerns happen to be very diverse, and fixing or even just detecting them can be complex. Some of them can actually be detected automatically, and this is the goal of the “gla11y” tool, which is the result of the tender.

Gla11y (Glade accessibility) is a Python script which takes .ui files (Glade graphical interface description files), and reports the accessibility issues which can be found with static analysis. This includes mostly the missing labelling relations, which happens to be a very frequent accessibility issue. If, for instance, a dialog box contains several GtkEntry widgets to be filled in by the user, and several GtkLabel widgets to describe them, but with no relations between the two series, a blind user would have to remember the different parts, thus considerably reducing usability. This will show up in gla11y warnings as:

     myfile.ui:5 WARNING: 'GtkLabel' 'label1' does not specify what it labels within 'GtkFrame' 'frame1'
     myfile.ui:9 WARNING: 'GtkLabel' 'label2' does not specify what it labels within 'GtkFrame' 'frame1'
     myfile.ui:12 WARNING: 'GtkEntry' 'entry1' has no accessibility label while there are orphan labels within 'GtkFrame' 'frame1'
     myfile.ui:14 WARNING: 'GtkEntry' 'entry2' has no accessibility label while there are orphan labels within 'GtkFrame' 'frame1'
     4 new warnings 

Adding relations between each widget and its label will allow screen readers to tell users exactly when to type what.

Running a basic version of gla11y alongside compilation of LibreOffice was integrated on February 21; It only checked for broken relation links. It turns out that there is currently no such bug, so it didn’t raise any warning, but now we are sure that no such bug will be introduced in the future (as happened in the past).

Gla11y runs in all compilation cases, except when using the old version 2.6 of Python and python-lxml is not available, so it will be running in mostly all development scenarios, thus catching issues as early as possible. It is useful to have the python-lxml library installed, or make sure that it is built automatically by LibreOffice, so that the analysis can be done faster and warnings get displayed better.

An initial version of more advanced analysis, which actually finds some existing issues, was merged on February 28.

As of today, the tool reports a total of 2155 warnings in 434 .ui files (out of the existing 981 .ui files). Of course, we do not want to overwhelm developers with all of these existing issues, so a suppression mechanism has been implemented, so that only warnings for new issues will be emitted; warnings for existing issues will be silenced by rules in suppression files.

In this way, to start with we will prevent the introduction new accessibility issues, while existing issues are progressively fixed. Also, for now only very basic warnings are enabled, and we will enable the complete set progressively. That will allow us to observe how developers react to some warnings, and fix heuristics and documentation on the
wiki
for them, before enabling more warnings.

Regarding fixes for existing issues, gla11y reports both labels and widgets which don’t have relations (“orphaned” labels and widgets). Very often, it is very easy to find which relation is missing and remove the warnings (actually, remove the suppression rules) with a few lines of .ui files. Working on this could thus be part of “Easy Hacks” for new contributors.

Fixing warnings raised by gla11y will hopefully greatly improve usability in LibreOffice for disabled people. Of course, there remain many other accessibility issues which can not be detected by static analysis, but gla11y will helps to cover a fair bit of the work, and leave time to concentrate on the more difficult issues.


Thanks to Hypra for their work on this tool! Learn more about how TDF uses its tendering process to improve LibreOffice and share knowledge with the community.

Welcome, Google Summer of Code ’18 students!

The Google Summer of Code (GSoC) is a global program focused on bringing more student developers into open source software development. The Document Foundation and LibreOffice participate every year, and today we are happy to announce a new record of 11 accepted students!

Projects are widespread and include Python support in the LOEclipse Plugin, domain specific language in UI testing, several improvements to the LibreOffice Viewer for Android, better usability for the Notebookbar, and fixing some of the most-annoying issues in the “100 paper cuts” project. Students will introduce an interface for external data source import into Calc, revamp the print dialog, and provide SmartArt editing capabilities in Impress.

Now the community bonding period starts, which intends to get students ready to start contributing on May 14th. So welcome Daniel Silva, Ekansh Jha, Hrishabh Rajput, Kshitij Pathania, Manuj Vashist, Muammer Mert Tümer, Nickson Thanda, Raghav Lalvani, Saurav Chirania, Shobhan Mandal and Vikas Mahato. We hope you will have as much fun with LibreOffice as Jaskaran Singh did in 2016:

Please confirm that you want to play a YouTube video. By accepting, you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.

Coming up: the Month of LibreOffice, May 2018!

Joining an open source project is awesome, for many reasons. You get to:

  • Talk to, meet and share ideas with people around the world
  • Build up valuable skills that could be useful in a future career
  • Make the world a better place, by improving software for everyone to use

In the case of LibreOffice, you can join us at our yearly conference too! Here’s our community posing for a photo in Brno, Czech Republic:

LibreOffice Conference 2016

In May, we’ll be celebrating contributions all across the project with a “Month of LibreOffice”. Everyone who helps out with development, design, documentation, QA, marketing, translations and user support will get a big “thank you” from us, and a nifty sticker pack in the post:

(Oh, and there’s an extra special surprise as well, but more on that later!) We’ll post full details on May 1st, but in the meantime, you can find out more about joining the project on our Get Involved page. You don’t have to be a software developer – you can help out in many other areas as well. See you soon!

LibreOffice and Google Summer of Code 2018 – get involved!

Google Summer of Code (GSoC) is a yearly programme in which Google funds university students to work on free and open source software projects. LibreOffice has benefited from this – last year 10 students were accepted into GSoC to do various programming jobs, helping to improve the software.

GSoC students are assisted by experienced “mentors” in the LibreOffice community, as 2016 student Jaskaran Veer Singh explains:

Please confirm that you want to play a YouTube video. By accepting, you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.

For 2018, LibreOffice is again an organisation in the GSoC programme, so if you’re a university student and want to get experience working on a well-known free software project, while also being paid for your efforts, get involved! But don’t delay: the application period runs until March 27, so it’s not far off.

To get started, check out some ideas for projects you can work on. Each project describes what’s involved, the skills required, and the mentor you can contact to get help. If you see something you’d like to work on, contact the mentor as soon as possible! Then you can discuss how to proceed.

After that, read the general GSoC 2018 page on our wiki, which provides more information on the GSoC programme and tells you how to apply. So, check out the ideas, talk to the mentors, and good luck with your projects!

How LibreOffice and TDF are helping other open source projects

Free and open source software (FOSS) is all about sharing and working together. And while LibreOffice focuses on being the best open source office suite, our community also helps out with other related FOSS projects (just like many other projects help us!). We’ve made an infographic showing “upstream” contributions from LibreOffice developers and The Document Foundation – click to see a bigger version…

Your donations have helped us to achieve much of this – so a big thank you to everyone who has donated to our project and community!

Sunday Marketing #6

Last week, we have published the crash report chart just two days after the announcement of LibreOffice 6.0.1, to show the impact of the new version on the issues reported by Windows users.

Ten days after the announcement the impact is even more visible, and the chart on the left shows that the situation is now under control.

The trend shows how important is for LibreOffice users to quickly update to the last available version to reduce the number of potential issues.