CiviCRM and Screen Readers

Published
2012-04-11 04:46
Written by
gibsonoliver - member of the CiviCRM community - view blog guidelines

We are currently working with an organisation that has a staff member that accesses their machine using a screen reader only (he uses Jaws). He has been working hard to see which core bits of CiviCRM (4.1.x on Drupal 7) he can access and has fantastically been working with us to feedback. In some instances we have been able to hardcode in menu links etc to increase his level of access.

This is real feedback from a user with genuine access requirements. Hopefully his experiences can lead to core code changes which will increase the accessibility of the system in the longer term for other users. We are also looking for ways in which we can increase his access levels in the short term. Please comment if you have any thoughts on core code changes that would make a difference, if you would like to get involved or if you know of users that have had similar experiences.

 

Generally he can navigate round a contacts summary screen, edit users, search via the basic Find Contacts screen, search for Activities and add basic Activities. There are some basic elements of the system which are inaccessible as detailed below;
- Contact Tabs; he cannot access a Contacts Tabs such as Activities, Relationships - he can access the summary screen only. He is using workarounds, like an activity search on the full contacts name, to find their activities.
- Lookups (including the LHS quick lookup) - He can type directly into these if he exactly knows someone's full name already. As he types the list of found contacts is not read to him. This affects his use when adding Activities, Shared Addresses etc. I understand this may be impossible to get around due to the way the lookup contact lists are generated.
- Collapsed Field Set Headers; these are invisible to the Jaws screen reader. As a workaround on the contact summary page we are forcing all custom fields to be open by default and on the contact edit page he is using Expand All tabs to access the field sets. He cannot however access any of the closed field sets on the Advanced Search screen. Would it be possible to add an Expand All Tabs function to the Advanced Search screen?
- Edit Page issue; on the edit page all the fields describe themselves to him as he tabs down except for the 'On Hold' and 'Bulk Mailings' check boxes.
- The on screen CiviCRM menus are invisible to the screen reader; as mentioned above we have added a hard coded extra menu which replicates the top Civi menu.


I hope the feedback is useful and we are sure that the staff member would be happy to further feedback on any future changes that were made to core.

Oliver Gibson, IT Enterprise Manager GMCVO

Comments

Hi,

 

Thanks for the report.

 

Civi is using jquery UI for the tab & the autocomplete (well not really, but potentially can switch). Could you raise these accessibility issues with them? It might be already working but just a matter of changing some params the way we use them (and would be the place to fix anyway).

 

In general it seems that Jaws has problems when we use ajax (refresh part of a page only). If it can't handle it, this is going to be hard to solve. Would be good if you could ask them what are the best practice (at a technical level) to help Jaws see when we update par of a page.

 

X+

I wrote to the JAWS software developers, detailing the issues, and after some email received a reply from a UK Based technical consultant. I'll post his reply in full below. He seems like he will be able to help if we ask him specific technical questions. Xavier, would you be able to prepare the specifics (and does his answer below help as well?). Olly

"Oliver

I have had a look at the blog post and read through the issues you are experiencing.
With most of the issues it is difficult to advise as I have not seen the software and I do not know how the content is displayed on the screen.

The best option may be for us to visit you and carry out an assessment looking at every one of the issues the user is experiencing and report on changes that can be made to the system to improve accessibility.

The cost of a visit would be £650 + VAT. Hopefully most of the issues should have solutions that are easy to implement.

A couple of things that may help with some of the issues are:

Contacts tabs. I used the example page for jquery ui tabs found at http://jqueryui.com/demos/tabs/

I found that I could select the tabs through the JAWS links list using the keystroke Insert+F7. Although once activated it causes the page to reload and the focus is returned to the top of the page meaning I had to navigate back through the page to get to the content.

If your tabs are not appearing when using the Insert+F7 keystroke then you should ensure that there are anchor tags on the tabs with href attribute.

Edit page checkboxes. Ideally all form fields should have an id attribute and labels for the form fields should be inside a label tag with the for attribute detailing the id of the form field the label is for. This will ensure that JAWS is able to determine the correct label for the form field.

Where there are no label tags to determine which is the correct label for a field JAWS will guess based on the standard for the field type as to whether to use the text immediately preceding or following the field. As examples edit fields and combo boxes will expect to have text to the left and radio buttons and checkboxes will expect to have text to the right.

I hope that this information helps but if I can offer any further assistance please do not hesitate to let me know.

With thanks
 

Neil Burge
Technical Consultant
Neil.Burge@SightAndSound.co.uk   "

Hi Xavier

What it the insert F7 trick? (I should probably know this!)

From what I can see I think Jaws would read them if they were hidden. Would it be possible to get this into the next release?

Olly

Hi,

I'd suggest to start a discussion on the forum about it. Don't ask me about F7 or how to use JAWS, I have no idea ;) Can you make it work already doing that?

 

I found that I could select the tabs through the JAWS links list using the keystroke Insert+F7. Although once activated it causes the page to reload and the focus is returned to the top of the page meaning I had to navigate back through the page to get to the content.
If your tabs are not appearing when using the Insert+F7 keystroke then you should ensure that there are anchor tags on the tabs with href attribute.