支持辅助功能的编码指南

以下是一些您可以在代码中执行的操作,以使您的程序尽可能地与辅助技术协同工作。

  • 对于不显示短字符串的组件(例如图像按钮),请通过设置 GTK_ACCESSIBLE_PROPERTY_LABEL 来为其指定名称。 您可能需要对仅图像按钮、提供逻辑分组的面板、文本区域等执行此操作。

  • 如果您无法为 UI 元素提供工具提示,请使用 GTK_ACCESSIBLE_PROPERTY_DESCRIPTION 来提供辅助技术可以提供给用户的描述。 例如,为“关闭”按钮提供可访问的描述

    gtk_accessible_update_property (GTK_ACCESSIBLE (button),
                                    GTK_ACCESSIBLE_PROPERTY_DESCRIPTION,
                                    _("Closes the window"),
                                    -1);
    
  • 如果多个组件构成一个逻辑组,请尝试将它们放在一个容器中。

  • 每当您有一个描述另一个组件的标签时,请使用 GTK_ACCESSIBLE_RELATION_LABELLED_BY 关系

    gtk_accessible_update_relation (GTK_ACCESSIBLE (text_entry),
                                    GTK_ACCESSIBLE_RELATION_LABELLED_BY,
                                      label, NULL,
                                    -1);
    
  • 如果您创建自定义小部件,请确保它支持辅助功能。 继承自其他 GTK 小部件的自定义组件应根据需要覆盖继承的辅助信息。

  • 不要破坏您获得的免费功能! 如果您的应用程序有一个不可访问的容器,则该容器内的任何组件都可能变得不可访问。