MDL-70173 output: use an empty alt to hide user pic from screen readers

There is no need to use WAI-ARIA to hide images from screen readers.
See https://www.w3.org/WAI/tutorials/images/decorative/
This commit is contained in:
Shamim Rezaie 2020-12-05 00:57:47 +11:00
parent 4e398ff3f7
commit b0b3a53521
2 changed files with 3 additions and 5 deletions

View File

@ -126,7 +126,8 @@ class block_online_users extends block_base {
} else { // Not a guest user.
$this->content->text .= '<div class="user">';
$this->content->text .= '<a href="'.$CFG->wwwroot.'/user/view.php?id='.$user->id.'&amp;course='.$this->page->course->id.'" title="'.$timeago.'">';
$this->content->text .= $OUTPUT->user_picture($user, array('size'=>16, 'alttext'=>false, 'link'=>false)) .$user->fullname.'</a></div>';
$avataroptions = ['size' => 16, 'visibletoscreenreaders' => false, 'link' => false];
$this->content->text .= $OUTPUT->user_picture($user, $avataroptions) . $user->fullname . '</a></div>';
if ($USER->id == $user->id) {
if ($CFG->block_online_users_onlinestatushiding) {

View File

@ -2523,8 +2523,6 @@ class core_renderer extends renderer_base {
* @return string
*/
protected function render_user_picture(user_picture $userpicture) {
global $CFG, $DB;
$user = $userpicture->user;
$canviewfullnames = has_capability('moodle/site:viewfullnames', $this->page->context);
@ -2557,11 +2555,10 @@ class core_renderer extends renderer_base {
$attributes = array('src' => $src, 'class' => $class, 'width' => $size, 'height' => $size);
if (!$userpicture->visibletoscreenreaders) {
$alt = '';
$attributes['aria-hidden'] = 'true';
}
$attributes['alt'] = $alt;
if (!empty($alt)) {
$attributes['alt'] = $alt;
$attributes['title'] = $alt;
}