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.

How TDF uses its tendering process to improve LibreOffice and share knowledge with the community

In 2017, The Document Foundation (TDF) launched four tenders aimed at improving LibreOffice in several strategic areas, where the tasks are beyond the capabilities of independent volunteer developers. Proposals from several companies have been carefully evaluated by the Foundation with the help of competent and independent volunteers. Development activity is going to start soon and we want to share some details with you upfront.

All proposals include sharing knowledge via blog posts and other documentation. The source code will be available in the public Git repository, while the development process will be discussed during public ESC calls and in our open mailing lists. This will make it easier for volunteer developers to further contribute to the source code and to implement additional features based on the tendered items.

Development results will be evaluated by TDF jointly with the volunteers who helped to assess the proposals.

These are the four tenders:

(1) Tender to Implement Accessibility Improvements
(https://blog.documentfoundation.org/blog/2017/04/27/tender-accessibility/)

Hypra will develop a tool to find and flag new Glade widgets that are added without accessibility (a11y) markup, which will catch all the common cases and blacklist all the existing dialog and/or widgets without these. The goal is to avoid future a11y regressions.

TDF will invest € 18,000.00

(2) Tender to improve image handling in LibreOffice
(https://blog.documentfoundation.org/blog/2017/05/02/tender-improve-image-handling-libreoffice-201705-01/)

Collabora will develop a mechanism, which will be propagated through filters and UNO APIs, to better manage (compressed) image streams out of document storage into an on-disk cache. This should avoid any chance of data loss, while improving image detail reading performance and storage

TDF will invest € 39,750.00.

(3) Tender to deprecate LibreOffice’s SVG filter in favor of SVGIO
(https://blog.documentfoundation.org/blog/2017/05/03/tender-deprecate-libreoffices-svg-filter-favour-svgio-201705-02/)

CIB will remove the old SVG import filter code (used for importing documents) and switch all SVG handling to the SVGIO filter (used when inserting images into a file).

TDF will invest € 9,520.00.

(4) Tender to implement HSQLDB binary format import in LibreOffice
(https://blog.documentfoundation.org/blog/2017/05/04/tender-implement-hsqldb-binary-format-import-libreoffice-201705-03/)

Collabora will develop a mechanism to import database files with high fidelity from the HSQLDB binary file format, which has been used inside many existing ODB files, by reading the Java serialization code, and writing a filter to import all data into LibreOffice Base. The objective is to remove the legacy Java/HSQLDB database and move to Firebird.

TDF will invest € 29,750.00.

Extended: Job Search for a Development Mentor (#201711-01)

We originally posted this in November, but we are now extending the deadline for applications to February 16, 2018. Note that we will be at FOSDEM (building K, level 1, group A) on February 3 and 4, so you can talk to us in person there!

The Document Foundation (TDF), the charitable entity behind the world’s leading free office suite LibreOffice, seeks an individual – or individuals part (or full) time – to be

a Development Mentor

to start work as soon as possible. The role requires the following:

  • Self-starting, remote working experience
  • Experience contributing to FLOSS communities
  • Excellent communication skills, with enthusiasm for mentoring
  • Coding experience (LibreOffice coding preferred)
  • Willingness to travel to Hackfests & conferences in Europe and globally

The role involves working from home at your location for at least 20 hours per week, up to full-time and includes among other items:

Supporting existing mentors in the LibreOffice community including:

  • Building relationships between existing mentors and new contributors
  • Identifying and on-boarding new contributors
  • Affirming and encouraging their contribution
  • Building initial relationships with them
  • Encouraging them to join IRC to meet the teams
  • Introducing them to domain experts for deeper learning
  • Helping to educate new contributors by
  • Positively reviewing their code contributions
  • Introducing them to our tooling and culture
  • Attracting new contributors by promoting the project
  • Interaction with UX volunteers

Previous experience with such tasks is highly welcome, so is using free software. Speaking and writing English reasonably well is a mandatory requirement.

The work time during the day is flexible, apart from some fixed times when availability is required (e.g. during meetings, which usually take place at 14:00 or 15:00 UTC once per week).

TDF welcomes applications from all suitably qualified persons regardless of their race, sex, disability, religion/belief, sexual orientation or age.

As always, TDF will give some preference to individuals who have previously shown a commitment to TDF, including but not limited to members of TDF. Not being a member, or never having contributed before, does not exclude any applicants from consideration.

TDF is looking forward to receiving your applications, including curriculum vitae, your financial expectations, and the earliest date of your availability, via e-mail to Florian Effenberger at floeff@documentfoundation.org no later than February 16, 2018. You can encrypt your message via PGP/GnuPG.

If you haven’t received feedback by March 16, 2018, your application could not be considered.

Tender for consultancy on LibreOffice feature implementation incl. on-site development training (#201801-01)

The Document Foundation (TDF), the charitable entity behind the world’s leading free office suite LibreOffice, seeks for companies or individuals to

provide consultancy on implementing features in LibreOffice

to start work as soon as possible. TDF is looking for an individual or company to give technical consultancy on the implementation of one or more of the following:

As part of the tender, TDF is explicitly looking into on-site development training on these topics for the community to share knowledge and enable contributors to get involved. This training is to be delivered during the next LibreOffice Hackfest in Hamburg (April 7-8, 2018)

  • both in groups not larger than four people, ideally via pair programming
  • as well as a public presentation during the event
  • the latter one will also be published by TDF as recording for reference

More details on this approach can be found at https://listarchives.documentfoundation.org/www/board-discuss/msg03988.html

Required skills

  • Extensive knowledge of C++
  • Experience working on the LibreOffice source code
  • Available for a two day in-person meeting at the next Hackfest in Hamburg (April 7-8, 2018)
  • Available for preparation and aftermath coordinating with a community member over email and/or video conference software (approx. 1-2 additional man days).

We exclusively use free, libre and open source (FLOSS) software for development wherever possible, and the resulting work must be licensed under the the Mozilla Public License v2.0.

Other skills

  • English (Conversationally fluent in order to coordinate and plan with members of TDF)

Applications should

  • contain a maximum of 300 words on the developer you intend to send to the Hackfest as consultant
  • contain a maximum of 300 words on the issue the developer intends to help implementing

TDF welcomes applications from all suitably qualified persons regardless of their race, sex, disability, religion/belief, sexual orientation or age.

As always, TDF will give some preference to individuals who have previously shown a commitment to TDF, including but not limited to certified developers and/or members of TDF. Not being a member, or never having contributed before, does not exclude any applicants from consideration.

The task offered is a project-based one-off, with no immediate plans to a mid- or long-term contractual relationship. It is offered on a freelance, project basis. Individuals and companies applying can be located anywhere in the world.

TDF is looking forward to receiving your applications, your financial expectations and the earliest date of your availability, via e-mail to Florian Effenberger at floeff@documentfoundation.org no later than February 5, 2018. You can encrypt your message via PGP/GnuPG.

Applicants who have not received feedback by February 18, 2018 should consider that their application, after careful review, was not accepted.

Job Search for a Development Mentor (#201711-01)

The Document Foundation (TDF), the charitable entity behind the world’s leading free office suite LibreOffice, seeks an individual – or individuals part (or full) time – to be

a Development Mentor

to start work as soon as possible. The role requires the following:

  • Self-starting, remote working experience
  • Experience contributing to FLOSS communities
  • Excellent communication skills, with enthusiasm for mentoring
  • Coding experience (LibreOffice coding preferred)
  • Willingness to travel to Hackfests & conferences in Europe and globally

The role involves working from home at your location for at least 20 hours per week, up to full-time and includes among other items:

Supporting existing mentors in the LibreOffice community including:

  • Building relationships between existing mentors and new contributors
  • Identifying and on-boarding new contributors
  • Affirming and encouraging their contribution
  • Building initial relationships with them
  • Encouraging them to join IRC to meet the teams
  • Introducing them to domain experts for deeper learning
  • Helping to educate new contributors by
  • Positively reviewing their code contributions
  • Introducing them to our tooling and culture
  • Attracting new contributors by promoting the project
  • Interaction with UX volunteers

Previous experience with such tasks is highly welcome, so is using free software. Speaking and writing English reasonably well is a mandatory requirement.

The work time during the day is flexible, apart from some fixed times when availability is required (e.g. during meetings, which usually take place at 14:00 or 15:00 UTC once per week).

TDF welcomes applications from all suitably qualified persons regardless of their race, sex, disability, religion/belief, sexual orientation or age.

As always, TDF will give some preference to individuals who have previously shown a commitment to TDF, including but not limited to members of TDF. Not being a member, or never having contributed before, does not exclude any applicants from consideration.

TDF is looking forward to receiving your applications, including curriculum vitae, your financial expectations, and the earliest date of your availability, via e-mail to Florian Effenberger at floeff@documentfoundation.org no later than December 5, 2017. You can encrypt your message via PGP/GnuPG.

If you haven’t received feedback by January 11, 2018, your application could not be considered.

Tender to implement HSQLDB binary format import in LibreOffice (#201705-03)

The Document Foundation (TDF), the charitable entity behind the world’s leading free office suite LibreOffice, seeks for companies or individuals to

implement support for importing HSQLDB binary data

to start work as soon as possible. TDF is looking for an individual or company to, as a turnkey project, implement the following:

In order to remove the legacy Java/HSQLDB database completely, and move fully to Firebird in LibreOffice 5.4, it is necessary to be able to import old document data with high fidelity from the HSQLDB binary file format, which we have used (for performance reasons) inside so many of our existing ODB files. This task involves reading the existing (reasonably simple) Java serialization code, and writing an (import only) filter to import this data safely into base.

Required skills

  • Extensive knowledge of C++
  • Experience working on the LibreOffice source code
  • Knowledge of HSQLDB

We exclusively use free, libre and open source (FLOSS) software for development wherever possible, and the resulting work must be licensed under the the Mozilla Public License v2.0.

Other Skills

  • English (Conversationally fluent in order to coordinate and plan with members of TDF)

TDF welcomes applications from all suitably qualified persons regardless of their race, sex, disability, religion/belief, sexual orientation or age.

As always, TDF will give some preference to individuals who have previously shown a commitment to TDF, including but not limited to members of TDF. Not being a member, or never having contributed before, does not exclude any applicants from consideration.

The task offered is a project-based one-off, with no immediate plans to a mid- or long-term contractual relationship. It is offered on a freelance, project basis. Individuals and companies applying can be located anywhere in the world.

TDF is looking forward to receiving your applications, your financial expectations (name the final price for the turnkey project), and the earliest date of your availability, via e-mail to Florian Effenberger at floeff@documentfoundation.org no later than June 2, 2017. You can encrypt your message via PGP/GnuPG.

Applicants who have not received feedback by July 3, 2017 should consider that their application, after careful review, was not accepted.