16,602
edits
Changes
m
=Accessibility The Gramps project aims to provide the best [http://en.wikipedia.org/wiki/Computer_accessibility accessibility] support=.
* [http://projects# Set a name (eg, same as tooltip) for a button with image.gnome.org/accessibility/ GNOME Accessibility] provides some guidances:** http://library.gnome.org/users/gnome-help/stable/a11y.html** http://library.gnome.org/users/gnome-access-guide/stable/** http://developer.gnome# Set a description for all images and icons.org/accessibility-devel-guide/stable/
* [http: <object class="GtkButton" id="date_edit"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">True</property> <property name="has_tooltip">True</accessibility.kde.orgproperty> <property name="tooltip_text" translatable="yes">Invoke date editor</property> <property name="relief">none</ KDE accessibility team] is a small onproperty> <child internal-line community of developers and other volunteers dedicated to ensure that our favorite desktop is child="accessible to all users, including those of us with physical handicaps.">** http <object class="AtkObject" id="date_edit-atkobject"> <property name="AtkObject::accessible-name" translatable="yes">Date</property> </accessibility.kde.orgobject> </developerchild> <child> <object class="GtkImage" id="image2264"> <property name="visible">True</atk.phpproperty> <property name="icon_name">gramps-date</property> <child internal-child="accessible">** http <object class="AtkObject" id="image2264-atkobject"> <property name="AtkObject::accessible-description" translatable="yes">Date</property> </accessibility.kde.orgobject> </developerchild> </comparision.phpobject>** http: </child> </accessibility.kde.org/developer/bridge.phpobject>
* [http://www.aegis-project.eu/ AEGIS] acronym stands ====Rules for ''Open Accessibility Everywhere: Groundwork, Infrastructure, Standards''.labels and buttons====
Gramps aims to provide the best <object class="GtkButton" id="button1"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">True</property> <accessibility support.>Unfortunatly, all parts of the interface have not been always tested for persons with disabilities. <relation type="labelled-by" target="label4"/>Gramps team try to do its best for a complete </accessibility support.> </object>
''[http: <object class="StyledTextEditor" id="styled_text1"> <property name="visible">True</property> <property name="can_focus">True</developer.gnome.org/gtk/2.24/GtkLabel.html GtkLabel]'' automaticaly generates accessibility keys on next ''[httpproperty> <child internal-child="accessible"> <object class="AtkObject" id="styled_text1-atkobject"> <property name="AtkObject::accessible-name" translatable="yes">Styled Text Editor</property> </developer.gnome.orgobject> </gtk/2.24child> </GtkEntry.html GtkEntry]]'' and ''UndoableEntry'' fields.Remember that Gramps also uses custom widgets like ''StyledTextEditor'' and ''ValidatableMaskedEntry'', which do not always provide relation with a ''GtkLabel''.object>
* Toggle buttons ====Focus and Icons on toolbartooltip====
Gramps often uses ''[http://developer.gnome.org/gtk/2.24/GtkToggleButton.html GtkToggleButtons]'' and alone ''[http://developer.gnome.org/gtk/2.24/GtkPixmap.html GtkPixmap]'' (image without label), this excludes blind people and generates a poor interface for accessibility.
====Rules (draft)====* Think on focus for button.
# set a <object class="GtkToggleButton" id="togglebutton1"> <property name="visible">True</property> <property name="can_focus">True</property> <property name for a button with image ="has_focus">True</property> like atk_object_set_name()# alternative to tooltip is the description <property name="is_focus">True</property> <property name="receives_default">True</property> like atk_object_set_description()# for all images and icons use something <property name="active">True</property> like atk_image_set_description()# a label for other widget should use mnemonic_widget() or a relation <property name="draw_indicator">True</property> </object> like atk_relation_set_add_relation()
'''''TODO''''' need to look further for better tricks (''previous and next sections'') and use of * Think on tooltip with ATK.
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="has_tooltip">Name accessTrue</property> ... <accessibility> <relation typeproperty name="labelled-bytooltip_text" targettranslatable="label209yes"/> Display a tooltip</accessibilityproperty>
===Bugs * [http://accelibreinfo.eu Accelibreinfo]: a new eye on computing, improve the accessibility and feature requests===setting computer.
no edit summary
Unfortunately, not all parts of the Gramps interface have been tested for persons with disabilities. The Gramps team will try to do its best to support complete accessibility. ==Accessibility support== ===Into Glade=== In addition to [https://developer.gnome.org/gtk3/stable/GtkWidget.html#gtk-widget-add-accelerator accelerators], ''[https://developer.gnome.org/gtk3/stable/GtkWidget.html GtkWidget]'' also support a custom <accessible> element, which supports actions and relations. Properties on the accessible implementation of an object can be set by accessing the internal child "accessible" of a ''[https://developer.gnome.org/gtk3/stable/GtkWidget.html GtkWidget]''. See [https://developer.gnome.org/gtk3/stable/GtkBuilder.html GtkBuilder UI]. * Gtk label ''A [https://developer.gnome.org/gtk3/stable/GtkLabel.html GtkLabel]'' '''with mnemonic support''' will automatically generate accessibility keys on linked ''[https://developer.gnome.org/gtk3/stable/GtkEntry.html GtkEntry]'' and ''UndoableEntry'' fields. Remember that Gramps also uses custom widgets like ''StyledTextEditor'' and ''ValidatableMaskedEntry'', which do not always have relation with a ''GtkLabel''. * Toggle buttons and Icons on toolbar Gramps often uses ''[https://developer.gnome.org/gtk3/stable/GtkToggleButton.html GtkToggleButtons]'' and alone ''[https://developer.gnome.org/gtk3/stable/GtkImage.html GtkImage]'' (image without label), this excludes blind people and generates a poor interface for accessibility. ====Rules for images and buttons==Links==
* [http://www.projectpossibility.org/ Possibility] project is A label for others widgets should use mnemonic_widget() or a nonprofit organization dedicated to creating groundbreaking open source software for persons with disabilitiesrelation.
<object class="GtkLabel" id=Gramps"label2"> <property name="visible">True</property> <property name="xalign">0</property> <property name="label" translatable="yes">La_bel:</property> <property name="use_underline">True</property> <property name="justify">center</property> <property name="mnemonic_widget">related_label_entry_name</property> </object>
===Into Glade=Rules for entry====
* Gtk Set a name (eg, same as tooltip) if there is no linked mnemonic_widget() on a label.
===Into python===
====SampleATK object====
# mark the root of this window with its PID so we can easily identify it
label_acc.add_relationship(atk.RelationType.LABEL_FOR, entry_acc)
entry_acc.add_relationship(atk.RelationType.LABELLED_BY, label_acc)
====Focus====
Sample for setting the [http://developer.gnome.org/gtk/2.24/GtkWidget.html#gtk-widget-grab-focus focus] on the date field if that date field is empty:
def _post_init(self):
date = self.top.get_object('eer_date_entry')
if not date.get_text_length():
date.grab_focus();
====Validate====
[http://live.gnome.org/Accerciser/ Accerciser] provides a an [http://live.gnome.org/Accerciser/Validate AT-SPI Validator Plugin] #{{bug|5313}}. ==Links== * [https://wiki.gnome.org/Accessibility GNOME Accessibility] provides some guidances:** https://help.gnome.org/users/gnome-help/stable/a11y.html** http://library.gnome.org/users/gnome-access-guide/stable/ (link 404 gone)** https://developer.gnome.org/accessibility-devel-guide/stable/ * [http://accessibility.kde.org/ KDE accessibility team] is a small on-line community of developers and other volunteers dedicated to ensure that our favorite desktop is accessible to all users, including those of us with physical handicaps.** http://accessibility.kde.org/developer/atk.php** http://accessibility.kde.org/developer/comparision.php** http://accessibility.kde.org/developer/bridge.php * [http://www.aegis-project.eu/ AEGIS] acronym stands for ''Open Accessibility Everywhere: Groundwork, Infrastructure, Standards''. * [http://www.projectpossibility.org/ Possibility] project is a nonprofit organization dedicated to creating groundbreaking open source software for persons with disabilities.
==Bugs and feature requests==
* #{{bug|2519}}: Pressing 'Enter' should normally activate OK
* #{{bug|3069}}: GtkTreeView is very slow / crashes with Assistive Technologies / ATK / a11y enabled
* #{{bug|5301}}: ATK support
* #{{bug|5308}}: Review focus on Editors with toggle buttons
* #{{bug|5309}}: Review ValidatableMaskedEntry for a better Accessibility support
* #{{bug|5310}}: Missing Date field on MediaRef Editor
* #{{bug|5312}}: Make tooltip on date edition toggle button consistent
* #{{bug|5313}}: AT-SPI issues
* #{{bug|5314}}: Missing Tags environment on MediaRef Editor
* #{{bug|5320}}: Privacy icon/button is not consistent
* #{{bug|5349}}: Filter and "Quick Filter" are not applied when you press [Enter]
* #{{bug|5350}}: Focus on the "Quick Filter" field is lost after clicking on "Find"
* #{{bug|5351}}: Focus on event window should be set to "Event type" by default
= Related pages =
* [[Usability]]
* [[OptimizeMenuNames]]
[[Category:Developers/General]]
[[Category:Developers/Design]]