diff --git a/course/format/renderer.php b/course/format/renderer.php index d390202aa3a..5e54308df8c 100644 --- a/course/format/renderer.php +++ b/course/format/renderer.php @@ -168,7 +168,8 @@ abstract class format_section_renderer_base extends plugin_renderer_base { if ($PAGE->user_is_editing() && has_capability('moodle/course:update', $context)) { $url = new moodle_url('/course/editsection.php', array('id'=>$section->id, 'sr'=>$sectionreturn)); $o.= html_writer::link($url, - html_writer::empty_tag('img', array('src' => $this->output->pix_url('t/edit'), 'class' => 'iconsmall edit')), + html_writer::empty_tag('img', array('src' => $this->output->pix_url('t/edit'), + 'class' => 'iconsmall edit', 'alt' => get_string('editsummary'))), array('title' => get_string('editsummary'))); } $o.= html_writer::end_tag('div'); diff --git a/course/lib.php b/course/lib.php index f8288e1cabd..d1c0f1c18d1 100644 --- a/course/lib.php +++ b/course/lib.php @@ -1576,8 +1576,7 @@ function print_section($course, $section, $mods, $modnamesused, $absolute=false, // Display link itself echo 'extra . $onclick . ' href="' . $url . '">' .
-                            $modulename . ' ' . + '" class="activityicon" alt="" /> ' . $accesstext . '' . $instancename . $altname . ''; @@ -1612,9 +1611,7 @@ function print_section($course, $section, $mods, $modnamesused, $absolute=false, // Display greyed-out text of link echo '
extra . ' >' . '' .
-                            $modulename .
-                            ' '. $instancename . $altname . + '" class="activityicon" alt="" /> '. $instancename . $altname . '
'; // Do not display content after link when it is greyed out like this. @@ -3206,7 +3203,7 @@ function make_editing_buttons(stdClass $mod, $absolute_ignored = true, $movesele if ($mod->modname !== 'label' && $hasmanageactivities && course_ajax_enabled($COURSE)) { $actions[] = new action_link( new moodle_url($baseurl, array('update' => $mod->id)), - new pix_icon('t/editstring', $str->edittitle, 'moodle', array('class' => 'iconsmall visibleifjs')), + new pix_icon('t/editstring', $str->edittitle, 'moodle', array('class' => 'iconsmall visibleifjs', 'title' => '')), null, array('class' => 'editing_title', 'title' => $str->edittitle) ); @@ -3225,7 +3222,7 @@ function make_editing_buttons(stdClass $mod, $absolute_ignored = true, $movesele if ($indent > 0) { $actions[] = new action_link( new moodle_url($baseurl, array('id' => $mod->id, 'indent' => '-1')), - new pix_icon($leftarrow, $str->moveleft, 'moodle', array('class' => 'iconsmall')), + new pix_icon($leftarrow, $str->moveleft, 'moodle', array('class' => 'iconsmall', 'title' => '')), null, array('class' => 'editing_moveleft', 'title' => $str->moveleft) ); @@ -3233,7 +3230,7 @@ function make_editing_buttons(stdClass $mod, $absolute_ignored = true, $movesele if ($indent >= 0) { $actions[] = new action_link( new moodle_url($baseurl, array('id' => $mod->id, 'indent' => '1')), - new pix_icon($rightarrow, $str->moveright, 'moodle', array('class' => 'iconsmall')), + new pix_icon($rightarrow, $str->moveright, 'moodle', array('class' => 'iconsmall', 'title' => '')), null, array('class' => 'editing_moveright', 'title' => $str->moveright) ); @@ -3245,20 +3242,20 @@ function make_editing_buttons(stdClass $mod, $absolute_ignored = true, $movesele if ($moveselect) { $actions[] = new action_link( new moodle_url($baseurl, array('copy' => $mod->id)), - new pix_icon('t/move', $str->move, 'moodle', array('class' => 'iconsmall')), + new pix_icon('t/move', $str->move, 'moodle', array('class' => 'iconsmall', 'title' => '')), null, array('class' => 'editing_move', 'title' => $str->move) ); } else { $actions[] = new action_link( new moodle_url($baseurl, array('id' => $mod->id, 'move' => '-1')), - new pix_icon('t/up', $str->moveup, 'moodle', array('class' => 'iconsmall')), + new pix_icon('t/up', $str->moveup, 'moodle', array('class' => 'iconsmall', 'title' => '')), null, array('class' => 'editing_moveup', 'title' => $str->moveup) ); $actions[] = new action_link( new moodle_url($baseurl, array('id' => $mod->id, 'move' => '1')), - new pix_icon('t/down', $str->movedown, 'moodle', array('class' => 'iconsmall')), + new pix_icon('t/down', $str->movedown, 'moodle', array('class' => 'iconsmall', 'title' => '')), null, array('class' => 'editing_movedown', 'title' => $str->movedown) ); @@ -3269,7 +3266,7 @@ function make_editing_buttons(stdClass $mod, $absolute_ignored = true, $movesele if ($hasmanageactivities) { $actions[] = new action_link( new moodle_url($baseurl, array('update' => $mod->id)), - new pix_icon('t/edit', $str->update, 'moodle', array('class' => 'iconsmall')), + new pix_icon('t/edit', $str->update, 'moodle', array('class' => 'iconsmall', 'title' => '')), null, array('class' => 'editing_update', 'title' => $str->update) ); @@ -3279,7 +3276,7 @@ function make_editing_buttons(stdClass $mod, $absolute_ignored = true, $movesele if (has_all_capabilities($dupecaps, $coursecontext) && plugin_supports('mod', $mod->modname, FEATURE_BACKUP_MOODLE2)) { $actions[] = new action_link( new moodle_url($baseurl, array('duplicate' => $mod->id)), - new pix_icon('t/copy', $str->duplicate, 'moodle', array('class' => 'iconsmall')), + new pix_icon('t/copy', $str->duplicate, 'moodle', array('class' => 'iconsmall', 'title' => '')), null, array('class' => 'editing_duplicate', 'title' => $str->duplicate) ); @@ -3289,7 +3286,7 @@ function make_editing_buttons(stdClass $mod, $absolute_ignored = true, $movesele if ($hasmanageactivities) { $actions[] = new action_link( new moodle_url($baseurl, array('delete' => $mod->id)), - new pix_icon('t/delete', $str->delete, 'moodle', array('class' => 'iconsmall')), + new pix_icon('t/delete', $str->delete, 'moodle', array('class' => 'iconsmall', 'title' => '')), null, array('class' => 'editing_delete', 'title' => $str->delete) ); @@ -3300,14 +3297,14 @@ function make_editing_buttons(stdClass $mod, $absolute_ignored = true, $movesele if ($mod->visible) { $actions[] = new action_link( new moodle_url($baseurl, array('hide' => $mod->id)), - new pix_icon('t/hide', $str->hide, 'moodle', array('class' => 'iconsmall')), + new pix_icon('t/hide', $str->hide, 'moodle', array('class' => 'iconsmall', 'title' => '')), null, array('class' => 'editing_hide', 'title' => $str->hide) ); } else { $actions[] = new action_link( new moodle_url($baseurl, array('show' => $mod->id)), - new pix_icon('t/show', $str->show, 'moodle', array('class' => 'iconsmall')), + new pix_icon('t/show', $str->show, 'moodle', array('class' => 'iconsmall', 'title' => '')), null, array('class' => 'editing_show', 'title' => $str->show) ); @@ -3338,7 +3335,7 @@ function make_editing_buttons(stdClass $mod, $absolute_ignored = true, $movesele if ($mod->groupmodelink) { $actions[] = new action_link( new moodle_url($baseurl, array('id' => $mod->id, 'groupmode' => $groupmode)), - new pix_icon($groupimage, $grouptitle, 'moodle', array('class' => 'iconsmall')), + new pix_icon($groupimage, $grouptitle, 'moodle', array('class' => 'iconsmall', 'title' => '')), null, array('class' => $groupclass, 'title' => $grouptitle) ); @@ -3351,7 +3348,7 @@ function make_editing_buttons(stdClass $mod, $absolute_ignored = true, $movesele if (has_capability('moodle/role:assign', $modcontext)){ $actions[] = new action_link( new moodle_url('/'.$CFG->admin.'/roles/assign.php', array('contextid' => $modcontext->id)), - new pix_icon('i/roles', $str->assign, 'moodle', array('class' => 'iconsmall')), + new pix_icon('i/roles', $str->assign, 'moodle', array('class' => 'iconsmall', 'title' => '')), null, array('class' => 'editing_assign', 'title' => $str->assign) ); diff --git a/course/yui/toolboxes/toolboxes.js b/course/yui/toolboxes/toolboxes.js index 024785ebf4b..2b923474977 100644 --- a/course/yui/toolboxes/toolboxes.js +++ b/course/yui/toolboxes/toolboxes.js @@ -106,7 +106,6 @@ YUI.add('moodle-course-toolboxes', function(Y) { var newstring = M.util.get_string(status, 'moodle'); hideicon.setAttrs({ 'alt' : newstring, - 'title' : newstring, 'src' : M.util.image_url('t/' + status) }); button.set('title', newstring); @@ -446,7 +445,6 @@ YUI.add('moodle-course-toolboxes', function(Y) { // Change the UI icon.setAttrs({ 'alt' : newtitle, - 'title' : newtitle, 'src' : iconsrc }); button.setAttribute('title', newtitle); @@ -473,7 +471,6 @@ YUI.add('moodle-course-toolboxes', function(Y) { .addClass(CSS.GENERICICONCLASS) .setAttrs({ 'src' : M.util.image_url('t/left', 'moodle'), - 'title' : left_string, 'alt' : left_string }); var moveright = target.one(CSS.MOVERIGHT); @@ -682,7 +679,6 @@ YUI.add('moodle-course-toolboxes', function(Y) { var newstring = M.util.get_string(status + 'fromothers', 'format_' + this.get('format')); hideicon.setAttrs({ 'alt' : newstring, - 'title' : newstring, 'src' : M.util.image_url('i/' + status) }); button.set('title', newstring); @@ -740,7 +736,6 @@ YUI.add('moodle-course-toolboxes', function(Y) { .set('title', old_string); Y.one(CSS.PAGECONTENT) .all(M.course.format.get_section_selector(Y) + '.current ' + CSS.HIGHLIGHT + ' img') - .set('title', old_string) .set('alt', old_string) .set('src', M.util.image_url('i/marker')); @@ -756,7 +751,6 @@ YUI.add('moodle-course-toolboxes', function(Y) { button .set('title', new_string); buttonicon - .set('title', new_string) .set('alt', new_string) .set('src', M.util.image_url('i/marked')); } diff --git a/lib/outputcomponents.php b/lib/outputcomponents.php index 7abde25c951..c10caffb1c4 100644 --- a/lib/outputcomponents.php +++ b/lib/outputcomponents.php @@ -550,6 +550,10 @@ class pix_icon implements renderable { } if (!isset($this->attributes['title'])) { $this->attributes['title'] = $this->attributes['alt']; + } else if (empty($this->attributes['title'])) { + // Remove the title attribute if empty, we probably want to use the parent node's title + // and some browsers might overwrite it with an empty title. + unset($this->attributes['title']); } } } diff --git a/lib/yui/dragdrop/dragdrop.js b/lib/yui/dragdrop/dragdrop.js index db4c73aaad5..98e2be6c236 100644 --- a/lib/yui/dragdrop/dragdrop.js +++ b/lib/yui/dragdrop/dragdrop.js @@ -36,8 +36,7 @@ YUI.add('moodle-core-dragdrop', function(Y) { .setStyle('cursor', 'move') .setAttrs({ 'src' : M.util.image_url(MOVEICON.pix, MOVEICON.component), - 'alt' : title, - 'title' : M.str.moodle.move + 'alt' : title }); if (iconclass) { dragicon.addClass(iconclass);