Difference between revisions of "Accessibility"

From Gramps
Jump to: navigation, search
m (Into Glade)
m (Into Glade)
Line 35: Line 35:
  
 
''TODO'' (need to look further)
 
''TODO'' (need to look further)
 +
 
Think on accessibility support for widgets without Gtk label or alone image on a toggle button, by adding:
 
Think on accessibility support for widgets without Gtk label or alone image on a toggle button, by adding:
 
  <property name="AtkObject::accessible-name" translatable="yes" comments="">Name access</property>
 
  <property name="AtkObject::accessible-name" translatable="yes" comments="">Name access</property>

Revision as of 12:57, 19 October 2011

Accessibility support

Links

  • AEGIS acronym stands for Open Accessibility Everywhere: Groundwork, Infrastructure, Standards.
  • Possibility project is a nonprofit organization dedicated to creating groundbreaking open source software for persons with disabilities.

Gramps

Gramps aims to provide the best accessibility support. Unfortunatly, all parts of the interface have not been always tested for persons with disabilities. Gramps team try to do its best for a complete accessibility support.

Into Glade

  • Gtk label

GtkLabel automaticaly generates accessibility keys on next GtkEntry and UndoableEntry fields. Remember that Gramps also uses custom widgets like StyledTextEditor and ValidatableMaskedEntry, which do not always provide relation with a GtkLabel.

  • Toggle buttons and Icons on toolbar

Gramps often uses toggle buttons and alone image (no label), this excludes blind people and generates a poor interface for accessibility.

TODO (need to look further)

Think on accessibility support for widgets without Gtk label or alone image on a toggle button, by adding:

<property name="AtkObject::accessible-name" translatable="yes" comments="">Name access</property>
...
<accessibility>
  <relation type="labelled-by" target="label209"/>
</accessibility>

Into python

Sample

# mark the root of this window with its PID so we can easily identify it
# as this app
root_atk = atk.get_root()
root_atk.set_description(str(os.getpid()))
label_acc = label_widget.get_accessible()
entry_acc = entry.get_accessible()
label_acc.add_relationship(atk.RelationType.LABEL_FOR, entry_acc)
entry_acc.add_relationship(atk.RelationType.LABELLED_BY, label_acc)


Bugs and feature requests

  • #3069: GtkTreeView is very slow / crashes with Assistive Technologies / ATK / a11y enabled [1]
  • #5301: ATK support [2]