From edb3b7b47378810f4f3a2e53314b92057691e889 Mon Sep 17 00:00:00 2001 From: Frederic Massart Date: Tue, 2 Oct 2012 14:28:55 +0800 Subject: [PATCH 1/2] MDL-28235 form: Help button popup close accessibility improved AMOS BEGIN CPY [close,editor],[close,form] AMOS END --- lang/en/form.php | 1 + lib/javascript-static.js | 8 ++++++-- lib/outputrenderers.php | 2 ++ theme/base/style/core.css | 2 ++ 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/lang/en/form.php b/lang/en/form.php index d55667d4b3e..d926cd28c05 100644 --- a/lang/en/form.php +++ b/lang/en/form.php @@ -25,6 +25,7 @@ $string['addfields'] = 'Add {$a} fields to form'; $string['advancedelement'] = 'Advanced element'; +$string['close'] = 'Close'; $string['day'] = 'Day'; $string['display'] = 'Display'; $string['err_alphanumeric'] = 'You must enter only letters or numbers here.'; diff --git a/lib/javascript-static.js b/lib/javascript-static.js index bf5ecf21e72..3f07ac16175 100644 --- a/lib/javascript-static.js +++ b/lib/javascript-static.js @@ -1407,16 +1407,19 @@ M.util.help_icon = { event.preventDefault(); if (M.util.help_icon.instance === null) { var Y = M.util.help_icon.Y; - Y.use('overlay', 'io-base', 'event-mouseenter', 'node', 'event-key', function(Y) { + Y.use('overlay', 'io-base', 'event-mouseenter', 'node', 'event-key', 'escape', function(Y) { var help_content_overlay = { helplink : null, overlay : null, init : function() { - var closebtn = Y.Node.create(''); + var strclose = Y.Escape.html(M.str.form.close); + var closebtn = Y.Node.create(''+strclose+''); + var footerbtn = Y.Node.create(''); // Create an overlay from markup this.overlay = new Y.Overlay({ headerContent: closebtn, + footerContent: footerbtn, bodyContent: '', id: 'helppopupbox', width:'400px', @@ -1426,6 +1429,7 @@ M.util.help_icon = { this.overlay.render(Y.one(document.body)); closebtn.on('click', this.overlay.hide, this.overlay); + footerbtn.on('click', this.overlay.hide, this.overlay); var boundingBox = this.overlay.get("boundingBox"); diff --git a/lib/outputrenderers.php b/lib/outputrenderers.php index 918235b37e9..2f330caa088 100644 --- a/lib/outputrenderers.php +++ b/lib/outputrenderers.php @@ -1752,6 +1752,7 @@ class core_renderer extends renderer_base { $output = html_writer::tag('a', $output, $attributes); $this->page->requires->js_init_call('M.util.help_icon.add', array(array('id'=>$id, 'url'=>$url->out(false)))); + $this->page->requires->string_for_js('close', 'form'); // and finally span return html_writer::tag('span', $output, array('class' => 'helplink')); @@ -1817,6 +1818,7 @@ class core_renderer extends renderer_base { $output = html_writer::tag('a', $output, $attributes); $this->page->requires->js_init_call('M.util.help_icon.add', array(array('id'=>$id, 'url'=>$url->out(false)))); + $this->page->requires->string_for_js('close', 'form'); // and finally span return html_writer::tag('span', $output, array('class' => 'helplink')); diff --git a/theme/base/style/core.css b/theme/base/style/core.css index d91d8d90565..69fc8a1eb20 100644 --- a/theme/base/style/core.css +++ b/theme/base/style/core.css @@ -484,6 +484,8 @@ body.tag .managelink {padding: 5px;} #helppopupbox {background-color: #eee; border: 1px solid #848484;z-index: 10000 !important;} #helppopupbox .yui3-widget-hd {float:right;margin:3px 3px 0 0;} #helppopupbox .yui3-widget-bd {margin:0 1em 1em 1em;border-top:1px solid #eee;} +#helppopupbox .yui3-widget-ft {text-align: center;} +#helppopupbox .yui3-widget-ft .closebtn {margin:0 1em 1em 1em;} #helppopupbox .helpheading {font-size: 1em;} #helppopupbox .spinner {margin:1em;} From 81adabd244ef0e8b1f6aa132c518fb55935505d2 Mon Sep 17 00:00:00 2001 From: Frederic Massart Date: Tue, 2 Oct 2012 14:34:15 +0800 Subject: [PATCH 2/2] MDL-28235 form: Removed close icon of help icon popups --- lib/javascript-static.js | 6 ------ 1 file changed, 6 deletions(-) diff --git a/lib/javascript-static.js b/lib/javascript-static.js index 3f07ac16175..792a4781241 100644 --- a/lib/javascript-static.js +++ b/lib/javascript-static.js @@ -1414,11 +1414,9 @@ M.util.help_icon = { init : function() { var strclose = Y.Escape.html(M.str.form.close); - var closebtn = Y.Node.create(''+strclose+''); var footerbtn = Y.Node.create(''); // Create an overlay from markup this.overlay = new Y.Overlay({ - headerContent: closebtn, footerContent: footerbtn, bodyContent: '', id: 'helppopupbox', @@ -1428,7 +1426,6 @@ M.util.help_icon = { }); this.overlay.render(Y.one(document.body)); - closebtn.on('click', this.overlay.hide, this.overlay); footerbtn.on('click', this.overlay.hide, this.overlay); var boundingBox = this.overlay.get("boundingBox"); @@ -1445,9 +1442,6 @@ M.util.help_icon = { this.overlay.hide(); } }, this); - - Y.on("key", this.close, closebtn , "down:13", this); - closebtn.on('click', this.close, this); }, close : function(e) {