diff options
author | Mark Sapiro <mark@msapiro.net> | 2017-06-24 14:34:48 -0700 |
---|---|---|
committer | Mark Sapiro <mark@msapiro.net> | 2017-06-24 14:34:48 -0700 |
commit | c4c4c8007bf85afee71420576d343442e388f352 (patch) | |
tree | 47ab4b8d4be526bc7969f84b368b73201a432484 /Mailman | |
parent | d79f8d317bf85d36ba9026c2f6830c6b6b60a4c2 (diff) | |
download | mailman2-c4c4c8007bf85afee71420576d343442e388f352.tar.gz mailman2-c4c4c8007bf85afee71420576d343442e388f352.tar.xz mailman2-c4c4c8007bf85afee71420576d343442e388f352.zip |
Added screen reader labels to some admindb radio buttons.
Diffstat (limited to 'Mailman')
-rw-r--r-- | Mailman/Cgi/admindb.py | 25 | ||||
-rwxr-xr-x | Mailman/htmlformat.py | 12 |
2 files changed, 13 insertions, 24 deletions
diff --git a/Mailman/Cgi/admindb.py b/Mailman/Cgi/admindb.py index 855c2e04..cc863306 100644 --- a/Mailman/Cgi/admindb.py +++ b/Mailman/Cgi/admindb.py @@ -95,8 +95,9 @@ def hacky_radio_buttons(btnname, labels, values, defaults, spacing=3): space = ' ' * spacing btns = Table(cellspacing='5', cellpadding='0') btns.AddRow([space + text + space for text in labels]) - btns.AddRow([Center(RadioButton(btnname, value, default)) - for value, default in zip(values, defaults)]) + btns.AddRow([Center(RadioButton(btnname, value, default).Format() + + '<div class=hidden>' + label + '</div>') + for label, value, default in zip(labels, values, defaults)]) return btns @@ -747,20 +748,14 @@ def show_post_requests(mlist, id, info, total, count, form): when = msgdata.get('received_time') if when: t.AddRow([Bold(_('Received:')), time.ctime(when)]) - t.AddCellInfo(row+2, col-1, align='right') - # We can't use a RadioButtonArray here because horizontal placement can be - # confusing to the user and vertical placement takes up too much - # real-estate. This is a hack! - buttons = Table(cellspacing="5", cellpadding="0") - buttons.AddRow(map(lambda x, s=' '*5: s+x+s, - (_('Defer'), _('Approve'), _('Reject'), _('Discard')))) - buttons.AddRow([Center(RadioButton(id, mm_cfg.DEFER, 1)), - Center(RadioButton(id, mm_cfg.APPROVE, 0)), - Center(RadioButton(id, mm_cfg.REJECT, 0)), - Center(RadioButton(id, mm_cfg.DISCARD, 0)), - ]) + t.AddCellInfo(row+3, col-1, align='right') + buttons = hacky_radio_buttons(id, + (_('Defer'), _('Approve'), _('Reject'), _('Discard')), + (mm_cfg.DEFER, mm_cfg.APPROVE, mm_cfg.REJECT, mm_cfg.DISCARD), + (1, 0, 0, 0), + spacing=5) t.AddRow([Bold(_('Action:')), buttons]) - t.AddCellInfo(row+3, col-1, align='right') + t.AddCellInfo(t.GetCurrentRowIndex(), col-1, align='right') t.AddRow([' ', '<label>' + CheckBox('preserve-%d' % id, 'on', 0).Format() + diff --git a/Mailman/htmlformat.py b/Mailman/htmlformat.py index 19f6457d..210150ed 100755 --- a/Mailman/htmlformat.py +++ b/Mailman/htmlformat.py @@ -318,15 +318,9 @@ class Document(Container): 'content="text/html; charset=%s">' % charset) if self.title: output.append('%s<TITLE>%s</TITLE>' % (tab, self.title)) - # This is a kluge to only add this style to the page that needs it. - parts = Utils.GetPathPieces() - if parts: - if len(parts) > 2 and parts[-1] not in ('add', 'remove', - 'change'): - parts[2] = 'list' - if (len(parts) == 2 and parts[1] == 'members' or - len(parts) > 2 and parts[1:3] == ['members', 'list']): - output.append("""\ + # Add CSS to visually hide some labeling text but allow screen + # readers to read it. + output.append("""\ <style type="text/css"> div.hidden {position:absolute; |