Add WCAG 2.2 AAA compliance and automated AT-SPI audit tool
- Bring all UI widgets to WCAG 2.2 AAA conformance across all views - Add accessible labels, roles, descriptions, and announcements - Bump focus outlines to 3px, target sizes to 44px AAA minimum - Fix announce()/announce_result() to walk widget tree via parent() - Add AT-SPI accessibility audit script (tools/a11y-audit.py) that checks SC 4.1.2, 1.1.1, 1.3.1, 2.1.1, 2.5.5, 2.5.8, 2.4.8, 2.4.9, 2.4.10, 2.1.3 with JSON report output for CI - Clean up project structure, archive old plan documents
This commit is contained in:
@@ -57,6 +57,7 @@ pub fn show_integration_dialog(
|
||||
.pixel_size(32)
|
||||
.build();
|
||||
image.set_paintable(Some(&texture));
|
||||
image.update_property(&[gtk::accessible::Property::Label(name)]);
|
||||
name_row.add_prefix(&image);
|
||||
}
|
||||
}
|
||||
@@ -88,6 +89,7 @@ pub fn show_integration_dialog(
|
||||
.build();
|
||||
let check1 = gtk::Image::from_icon_name("emblem-ok-symbolic");
|
||||
check1.set_valign(gtk::Align::Center);
|
||||
check1.set_accessible_role(gtk::AccessibleRole::Presentation);
|
||||
desktop_row.add_prefix(&check1);
|
||||
actions_box.append(&desktop_row);
|
||||
|
||||
@@ -97,6 +99,7 @@ pub fn show_integration_dialog(
|
||||
.build();
|
||||
let check2 = gtk::Image::from_icon_name("emblem-ok-symbolic");
|
||||
check2.set_valign(gtk::Align::Center);
|
||||
check2.set_accessible_role(gtk::AccessibleRole::Presentation);
|
||||
icon_row.add_prefix(&check2);
|
||||
actions_box.append(&icon_row);
|
||||
|
||||
@@ -156,6 +159,7 @@ pub fn show_integration_dialog(
|
||||
.build();
|
||||
let warning_icon = gtk::Image::from_icon_name("dialog-warning-symbolic");
|
||||
warning_icon.set_pixel_size(16);
|
||||
warning_icon.set_accessible_role(gtk::AccessibleRole::Presentation);
|
||||
warning_header.append(&warning_icon);
|
||||
let warning_title = gtk::Label::builder()
|
||||
.label(&i18n("Compatibility Notes"))
|
||||
@@ -168,6 +172,9 @@ pub fn show_integration_dialog(
|
||||
let compat_list = gtk::ListBox::new();
|
||||
compat_list.add_css_class("boxed-list");
|
||||
compat_list.set_selection_mode(gtk::SelectionMode::None);
|
||||
compat_list.update_property(&[
|
||||
gtk::accessible::Property::Label(&i18n("Compatibility warnings")),
|
||||
]);
|
||||
|
||||
for (title, subtitle, badge_text) in &warnings {
|
||||
let row = adw::ActionRow::builder()
|
||||
|
||||
Reference in New Issue
Block a user