Open main menu

Gramps β

Changes

Accessibility

3,338 bytes added, 21:22, 2 April 2022
Accessibility support
=Accessibility The Gramps project aims to provide the best [https://en.wikipedia.org/wiki/Computer_accessibility Computer accessibility] support=.
==Links==Unfortunately, not all parts of the Gramps interface have been tested for persons with disabilities.
* [http://projects.gnome.org/The Gramps team will try to do its best to support complete 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.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==Accessibility support==
* [http://www.aegis-project.eu/ AEGIS] acronym stands for ''Open Accessibility Everywhere: Groundwork, Infrastructure, Standards''.===Into Glade===
* In addition to [httphttps://wwwdeveloper.projectpossibilitygnome.org/ Possibilitygtk3/stable/GtkWidget.html#gtk-widget-add-accelerator accelerators] project is , ''[https://developer.gnome.org/gtk3/stable/GtkWidget.html GtkWidget]'' also support a nonprofit organization dedicated to creating groundbreaking open source software for persons with disabilitiescustom <accessible> element, which supports actions and relations==Gramps== Gramps aims to provide Properties on the best accessibility support.Unfortunatly, all parts accessible implementation of an object can be set by accessing the interface have not been always tested for persons with disabilitiesinternal child "accessible" of a ''[https://developer.gnome.org/gtk3/stable/GtkWidget.html GtkWidget]''. See [https://developer.Gramps team try to do its best for a complete accessibility supportgnome.org/gtk3/stable/GtkBuilder.html GtkBuilder UI]===Into Glade===
* Gtk label
''A [httphttps://developer.gnome.org/gtkgtk3/2.24stable/GtkLabel.html GtkLabel]'' automaticaly generates '''with mnemonic support''' will automatically generate accessibility keys on next linked ''[httphttps://developer.gnome.org/gtkgtk3/2.24stable/GtkEntry.html GtkEntry]]'' and ''UndoableEntry'' fields.Remember that Gramps also uses custom widgets like ''StyledTextEditor'' and ''ValidatableMaskedEntry'', which do not always provide have relation with a ''GtkLabel''.
* Toggle buttons and Icons on toolbar
Gramps often uses ''[httphttps://developer.gnome.org/gtkgtk3/2.24stable/GtkToggleButton.html GtkToggleButtons]'' and alone ''[httphttps://developer.gnome.org/gtkgtk3/2.24stable/GtkPixmapGtkImage.html GtkPixmapGtkImage]'' (image without label), this excludes blind people and generates a poor interface for accessibility.
====Rules (draft)for images and buttons====
# set Set a name (eg, same as tooltip) for a button with image.# set Set a description for all images and icons.
<object class="GtkButton" id="date_edit">
<child internal-child="accessible">
<object class="AtkObject" id="date_edit-atkobject">
<property name="AtkObject::accessible-name" translatable="yes">Date edition</property>
</object>
</child>
<child internal-child="accessible">
<object class="AtkObject" id="image2264-atkobject">
<property name="AtkObject::accessible-description" translatable="yes">Date edition</property>
</object>
</child>
</object>
====Rules for labels and buttons====
* A label for others widgets should use mnemonic_widget() or a relation.
# alternative to tooltip is the description <object class="GtkLabel" id="label2"> <property name="visible">True</property> <property name="xalign">0</property> like atk_object_set_description()# a <property name="label for other widget should use " translatable="yes">La_bel:</property> <property name="use_underline">True</property> <property name="justify">center</property> <property name="mnemonic_widget() or a relation =">related_label_entry_name</property> </object> like atk_relation_set_add_relation()
'''''TODO''''' need to look further <object class="GtkButton" id="button1"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">True</property> <accessibility> <relation type="labelled-by" target="label4"/> </accessibility> </object> ====Rules for entry==== * Set a name (eg, same as tooltip) if there is no linked mnemonic_widget() and focuson a label <object class="StyledTextEditor" id="styled_text1"> <property name="visible">True</property> <property name="can_focus">True</property> <child internal-child="accessible"> <object class="AtkObject" id="styled_text1-atkobject"> <property name="AtkObject::accessible-name" translatable="yes">Styled Text Editor</property> </object> </child> </object>
====Focus and tooltip====  * Think on accessibility support focus for widgets without Gtk label or alone image on a toggle button, by adding:.  <object class="GtkToggleButton" id="togglebutton1"> <property name="AtkObject::accessible-visible">True</property> <property name="can_focus" translatable>True</property> <property name="yeshas_focus" comments>True</property> <property name="is_focus">Name accessTrue</property> ... <property name="receives_default">True</property> <property name="active">True<accessibility/property> <relation typeproperty name="labelled-bydraw_indicator" target>True</property> </object> * Think on tooltip.  <property name="label209has_tooltip">True</property> <property name="tooltip_text" translatable="yes">Display a tooltip</accessibilityproperty>
===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}}. ==Visual impairment== It is helpful to use large fonts, high DPI displays, high-contrast themes and icons supplemented with auditory feedback and screen magnifying software. About 8% of men and about 0.4% of women have some form of color-blindness. ==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 * [http://accelibreinfo.eu Accelibreinfo]: a new eye on computing, improve the accessibility and feature requests===setting computer.
==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]]
3,146
edits