From 6cd634340a2f43097f1deb457c710357d67af2f0 Mon Sep 17 00:00:00 2001 From: Simon Rozman Date: Mon, 9 Sep 2019 13:10:44 +0200 Subject: ui: annotate controls Regarding interface and peer info text boxes: The read-only edit boxes containing interface and peer status and information were read as " read-only multiline" by NVDA screen reader. The read-only edit boxes that serve the informative purpose only must be annotated as ROLE_SYSTEM_STATICTEXT instead of edit box-inherited ROLE_SYSTEM_TEXT role. Regarding logo image in about dialog: NVDA reads "unknown" when reading the dialog without this patch. Signed-off-by: Simon Rozman --- ui/aboutdialog.go | 1 + ui/confview.go | 2 ++ ui/editdialog.go | 3 +++ 3 files changed, 6 insertions(+) diff --git a/ui/aboutdialog.go b/ui/aboutdialog.go index ab3b17e7..d87727aa 100644 --- a/ui/aboutdialog.go +++ b/ui/aboutdialog.go @@ -79,6 +79,7 @@ func runAboutDialog(owner walk.Form) error { if logo, err := loadLogoIcon(128); err == nil { iv.SetImage(logo) } + iv.Accessibility().SetName("WireGuard logo image") wgLbl, err := walk.NewTextLabel(showingAboutDialog) if err != nil { diff --git a/ui/confview.go b/ui/confview.go index c748d2af..250b7427 100644 --- a/ui/confview.go +++ b/ui/confview.go @@ -145,6 +145,7 @@ func newLabelStatusLine(parent walk.Container) (*labelStatusLine, error) { lsl.statusLabel.SetTextSelection(0, 0) }) lsl.update(manager.TunnelUnknown) + lsl.statusLabel.Accessibility().SetRole(walk.AccRoleStatictext) disposables.Spare() @@ -201,6 +202,7 @@ func newLabelTextLine(fieldName string, parent walk.Container) (*labelTextLine, lt.text.FocusedChanged().Attach(func() { lt.text.SetTextSelection(0, 0) }) + lt.text.Accessibility().SetRole(walk.AccRoleStatictext) disposables.Spare() diff --git a/ui/editdialog.go b/ui/editdialog.go index 142d47a2..191b3330 100644 --- a/ui/editdialog.go +++ b/ui/editdialog.go @@ -108,11 +108,14 @@ func newEditDialog(owner walk.Form, tunnel *manager.Tunnel) (*EditDialog, error) layout.SetRange(dlg.pubkeyEdit, walk.Rectangle{1, 1, 1, 1}) dlg.pubkeyEdit.SetReadOnly(true) dlg.pubkeyEdit.SetText("(unknown)") + dlg.pubkeyEdit.Accessibility().SetRole(walk.AccRoleStatictext) if dlg.syntaxEdit, err = syntax.NewSyntaxEdit(dlg); err != nil { return nil, err } layout.SetRange(dlg.syntaxEdit, walk.Rectangle{0, 2, 2, 1}) + // TODO: This doesn't work - RTF control overrides us with "RichEdit Control". + dlg.syntaxEdit.Accessibility().SetName("Configuration") buttonsContainer, err := walk.NewComposite(dlg) if err != nil { -- cgit v1.2.3-59-g8ed1b