Merge branch 'MDL-62680-master' of git://github.com/damyon/moodle
authorEloy Lafuente (stronk7) <stronk7@moodle.org>
Thu, 7 Feb 2019 09:01:03 +0000 (10:01 +0100)
committerEloy Lafuente (stronk7) <stronk7@moodle.org>
Thu, 7 Feb 2019 09:23:39 +0000 (10:23 +0100)
1  2 
lib/classes/output/icon_system_fontawesome.php
lib/outputcomponents.php
lib/upgrade.txt

@@@ -99,7 -99,6 +99,7 @@@ class icon_system_fontawesome extends i
              'core:e/document_properties' => 'fa-info',
              'core:e/emoticons' => 'fa-smile-o',
              'core:e/find_replace' => 'fa-search-plus',
 +            'core:e/file-text' => 'fa-file-text',
              'core:e/forward' => 'fa-arrow-right',
              'core:e/fullpage' => 'fa-arrows-alt',
              'core:e/fullscreen' => 'fa-arrows-alt',
              'core:i/categoryevent' => 'fa-cubes',
              'core:i/course' => 'fa-graduation-cap',
              'core:i/courseevent' => 'fa-university',
 +            'core:i/customfield' => 'fa-hand-o-right',
              'core:i/db' => 'fa-database',
              'core:i/delete' => 'fa-trash',
              'core:i/down' => 'fa-arrow-down',
          if (!$subpix->is_mapped()) {
              $data['unmappedIcon'] = $icon->export_for_template($output);
          }
+         if (isset($icon->attributes['aria-hidden'])) {
+             $data['aria-hidden'] = $icon->attributes['aria-hidden'];
+         }
          return $output->render_from_template('core/pix_icon_fontawesome', $data);
      }
  
diff --combined lib/outputcomponents.php
@@@ -525,19 -525,12 +525,19 @@@ class help_icon implements renderable, 
          $data->icon = (new pix_icon('help', $alt, 'core', ['class' => 'iconhelp']))->export_for_template($output);
          $data->linktext = $this->linktext;
          $data->title = get_string('helpprefix2', '', trim($title, ". \t"));
 -        $data->url = (new moodle_url('/help.php', [
 +
 +        $options = [
              'component' => $this->component,
              'identifier' => $this->identifier,
              'lang' => current_language()
 -        ]))->out(false);
 +        ];
 +
 +        // Debugging feature lets you display string identifier and component.
 +        if (isset($CFG->debugstringids) && $CFG->debugstringids && optional_param('strings', 0, PARAM_INT)) {
 +            $options['strings'] = 1;
 +        }
  
 +        $data->url = (new moodle_url('/help.php', $options))->out(false);
          $data->ltr = !right_to_left();
          return $data;
      }
@@@ -701,6 -694,11 +701,11 @@@ class pix_icon implements renderable, t
              // and some browsers might overwrite it with an empty title.
              unset($this->attributes['title']);
          }
+         // Hide icons from screen readers that have no alt.
+         if (empty($this->attributes['alt'])) {
+             $this->attributes['aria-hidden'] = 'true';
+         }
      }
  
      /**
diff --combined lib/upgrade.txt
@@@ -4,10 -4,7 +4,11 @@@ information provided here is intended e
  === 3.7 ===
  
  * The method core_user::is_real_user() now returns false for userid = 0 parameter
 +* 'mform1' dependencies (in themes, js...) will stop working because a randomly generated string has been added to the id
 +attribute on forms to avoid collisions in forms loaded in AJAX requests.
 +* A new method to allow queueing or rescheduling of an existing scheduled task was added. This allows an existing task
 +  to be updated or queued as required. This new functionality can be found in \core\task\manager::reschedule_or_queue_adhoc_task.
+ * Icons are displayed for screen readers unless they have empty alt text (aria-hidden). Do not provide an icon with alt text immediately beside an element with exactly the same text.
  
  === 3.6 ===