Merge branch 'MDL-32347' of git://github.com/timhunt/moodle
authorDan Poltawski <dan@moodle.com>
Tue, 10 Apr 2012 03:34:12 +0000 (11:34 +0800)
committerDan Poltawski <dan@moodle.com>
Tue, 10 Apr 2012 03:34:12 +0000 (11:34 +0800)
127 files changed:
admin/filters.php
admin/mnet/access_control.php
admin/portfolio.php
admin/repository.php
admin/roles/lib.php
admin/timezone.php
admin/tool/langimport/index.php
admin/tool/spamcleaner/index.php
admin/tool/spamcleaner/lang/en/tool_spamcleaner.php
admin/tool/xmldb/actions/new_table_from_mysql/new_table_from_mysql.class.php
admin/tool/xmldb/actions/view_structure_php/view_structure_php.class.php
admin/tool/xmldb/actions/view_table_php/view_table_php.class.php
auth/cas/config.html
auth/fc/config.html
auth/imap/config.html
auth/ldap/config.html
auth/mnet/config.html
auth/nntp/config.html
auth/pop3/config.html
auth/radius/config.html
auth/shibboleth/config.html
auth/shibboleth/index_form.html
backup/util/ui/renderer.php
blocks/section_links/config_instance.html
blocks/tags/block_tags.php
calendar/lib.php
calendar/renderer.php
course/category.php
course/index.php
course/scales.php
course/search.php
enrol/authorize/locallib.php
enrol/manual/manage.php
filter/algebra/algebradebug.php
filter/manage.php
grade/edit/tree/calculation.php
grade/edit/tree/index.php
grade/edit/tree/lib.php
grade/grading/form/rubric/renderer.php
grade/lib.php
grade/report/grader/lib.php
index.php
lang/en/moodle.php
lang/en/question.php
lib/adminlib.php
lib/cronlib.php
lib/deprecatedlib.php
lib/enrollib.php
lib/form/editor.php
lib/moodlelib.php
lib/navigationlib.php
lib/outputlib.php
lib/outputrenderers.php
lib/portfoliolib.php
lib/questionlib.php
lib/tablelib.php
lib/upgradelib.php
lib/weblib.php
message/lib.php
mod/assignment/lib.php
mod/chat/gui_ajax/index.php
mod/chat/gui_header_js/chatinput.php
mod/chat/gui_sockets/chatinput.php
mod/data/field.php
mod/data/field/file/field.class.php
mod/data/field/file/mod.html
mod/data/field/latlong/field.class.php
mod/data/field/menu/field.class.php
mod/data/field/multimenu/field.class.php
mod/data/field/number/field.class.php
mod/data/field/picture/field.class.php
mod/data/field/picture/mod.html
mod/data/field/radiobutton/field.class.php
mod/data/field/text/field.class.php
mod/data/field/textarea/field.class.php
mod/data/field/url/field.class.php
mod/feedback/analysis_course.php
mod/feedback/item/multichoice/lib.php
mod/feedback/item/multichoicerated/lib.php
mod/feedback/mapcourse.php
mod/feedback/show_nonrespondents.php
mod/forum/lib.php
mod/forum/search.php
mod/glossary/editcategories.html
mod/glossary/formats.php
mod/glossary/lib.php
mod/lesson/pagetypes/matching.php
mod/lesson/report.php
mod/quiz/accessrule/delaybetweenattempts/rule.php
mod/quiz/editlib.php
mod/quiz/lang/en/quiz.php
mod/quiz/mod_form.php
mod/quiz/report/overview/overview_table.php
mod/quiz/report/overview/report.php
mod/quiz/report/responses/report.php
mod/quiz/report/responses/responses_table.php
mod/quiz/report/statistics/report.php
mod/quiz/report/statistics/statistics_question_table.php
mod/quiz/report/statistics/statistics_table.php
mod/quiz/styles.css
mod/scorm/locallib.php
mod/wiki/editors/wikieditor.php
mod/wiki/renderer.php
question/behaviour/rendererbase.php
question/engine/questionusage.php
question/format/xhtml/format.php
question/type/calculated/questiontype.php
question/type/essay/renderer.php
question/type/match/renderer.php
question/type/multianswer/renderer.php
question/type/numerical/renderer.php
question/type/shortanswer/renderer.php
report/courseoverview/index.php
report/log/locallib.php
report/participation/index.php
report/stats/locallib.php
repository/alfresco/lib.php
repository/draftfiles_manager.php
repository/filepicker.php
tag/coursetags_edit.php
tag/manage.php
theme/mymobile/layout/general.php
theme/mymobile/renderers.php
user/addnote.php
user/groupaddnote.php
user/index.php
user/message.html

index 0d7faa3..b21e1df 100644 (file)
@@ -242,6 +242,7 @@ function get_table_row($filterinfo, $isfirstrow, $islastactive, $applytostrings)
 
     // Disable/off/on
     $select = new single_select(filters_action_url($filter, 'setstate'), 'newstate', $activechoices, $filterinfo->active, null, 'active' . basename($filter));
+    $select->set_label(get_accesshide(get_string('isactive', 'filters')));
     $row[] = $OUTPUT->render($select);
 
     // Re-order
@@ -263,6 +264,7 @@ function get_table_row($filterinfo, $isfirstrow, $islastactive, $applytostrings)
 
     // Apply to strings.
     $select = new single_select(filters_action_url($filter, 'setapplyto'), 'stringstoo', $applytochoices, $applytostrings, null, 'applyto' . basename($filter));
+    $select->set_label(get_accesshide(get_string('applyto', 'filters')));
     $select->disabled = $filterinfo->active == TEXTFILTER_DISABLED;
     $row[] = $OUTPUT->render($select);
 
index b9e436f..4e29ae4 100644 (file)
@@ -203,17 +203,18 @@ echo get_string('username') . ":\n";
 if (!empty($formerror['username'])) {
     echo '<span class="error"> * </span>';
 }
-echo '<input type="text" name="username" size="20" maxlength="100" />';
+echo html_writer::label(get_string('username'), 'menuusername', false, array('class' =>'accesshide'));
+echo '<input id="menuusername" type="text" name="username" size="20" maxlength="100" />';
 
 // choose a remote host
-echo " " . get_string('remotehost', 'mnet') . ":\n";
+echo html_writer::label(get_string('remotehost', 'mnet'), 'menumnet_host_id');
 if (!empty($formerror['mnet_host_id'])) {
     echo '<span class="error"> * </span>';
 }
 echo html_writer::select($mnethosts, 'mnet_host_id');
 
 // choose an access level
-echo " " . get_string('accesslevel', 'mnet') . ":\n";
+echo html_writer::label(get_string('accesslevel', 'mnet'), 'menuaccessctrl');
 if (!empty($formerror['accessctrl'])) {
     echo '<span class="error"> * </span>';
 }
index 791c79f..2e0ca37 100644 (file)
@@ -197,6 +197,7 @@ if (($action == 'edit') || ($action == 'new')) {
                 $currentaction = 'hide';
             }
             $select = new single_select(portfolio_action_url($pluginid, 'pf'), 'action', $actionchoicesforexisting, $currentaction, null, 'applyto' . $pluginid);
+            $select->set_label(get_accesshide(get_string('portfolio', 'portfolio')));
             $table->data[] = array($pluginname, $OUTPUT->render($select), $settings);
         }
         if (!in_array($plugin, $usedplugins)) {
index c3409a5..3b625a6 100644 (file)
@@ -305,7 +305,7 @@ if (($action == 'edit') || ($action == 'new')) {
             }
 
             $select = new single_select(repository_action_url($typename, 'repos'), 'action', $actionchoicesforexisting, $currentaction, null, 'applyto' . basename($typename));
-
+            $select->set_label(get_accesshide(get_string('action')));
             // Display up/down link
             $updown = '';
             $spacer = $OUTPUT->spacer(array('height'=>15, 'width'=>15)); // should be done with CSS instead
@@ -342,6 +342,7 @@ if (($action == 'edit') || ($action == 'new')) {
             // Check that it has not already been listed
             if (!in_array($plugin, $alreadyplugins)) {
                 $select = new single_select(repository_action_url($plugin, 'repos'), 'action', $actionchoicesfornew, 'delete', null, 'applyto' . basename($plugin));
+                $select->set_label(get_accesshide(get_string('action')));
                 $table->data[] = array(get_string('pluginname', 'repository_'.$plugin), $OUTPUT->render($select), '', '');
             }
         }
index d57233f..b5bebe8 100644 (file)
@@ -721,7 +721,10 @@ class define_role_table_advanced extends capability_table_with_risks {
         foreach(get_role_archetypes() as $type) {
             $options[$type] = get_string('archetype'.$type, 'role');
         }
-        return html_writer::select($options, 'archetype', $this->role->archetype, false);
+
+        $return = html_writer::label(get_string('archetype'.$type, 'role'), 'menuarchetype', false, array('class' => 'accesshide'));
+        $return .= html_writer::select($options, 'archetype', $this->role->archetype, false);
+        return $return;
     }
 
     protected function get_assignable_levels_control() {
index 34e1fa4..b3fef54 100644 (file)
@@ -42,7 +42,7 @@
     $timezones = get_list_of_timezones();
 
     echo '<center><form action="timezone.php" method="post">';
-    echo "$strusers ($strall): ";
+    echo html_writer::label($strusers . ' (' . $strall . '): ', 'menuzone');
     echo html_writer::select($timezones, "zone", $current, array('99'=>get_string("serverlocaltime")));
     echo "<input type=\"hidden\" name=\"sesskey\" value=\"".sesskey()."\" />";
     echo '<input type="submit" value="'.s($strsavechanges).'" />';
index 80d8829..82b5cc2 100644 (file)
@@ -287,7 +287,7 @@ $url = new moodle_url('/admin/tool/langimport/index.php', array('mode' => DELETI
 echo html_writer::start_tag('td', array('valign' => 'top'));
 echo html_writer::start_tag('form', array('id' => 'uninstallform', 'action' => $url->out(), 'method' => 'post'));
 echo html_writer::start_tag('fieldset');
-echo html_writer::label(get_string('installedlangs', 'tool_langimport'), 'uninstalllang');
+echo html_writer::label(get_string('installedlangs', 'tool_langimport'), 'menuuninstalllang');
 echo html_writer::empty_tag('br');
 echo html_writer::select($installedlangs, 'uninstalllang', '', false, array('size' => 15));
 echo html_writer::empty_tag('input', array('type' => 'hidden', 'name' => 'sesskey', 'value' => sesskey()));
@@ -315,7 +315,7 @@ if (!empty($options)) {
     $url = new moodle_url('/admin/tool/langimport/index.php', array('mode' => INSTALLATION_OF_SELECTED_LANG));
     echo html_writer::start_tag('form', array('id' => 'installform', 'action' => $url->out(), 'method' => 'post'));
     echo html_writer::start_tag('fieldset');
-    echo html_writer::label(get_string('availablelangs','install'), 'pack');
+    echo html_writer::label(get_string('availablelangs','install'), 'menupack');
     echo html_writer::empty_tag('br');
     echo html_writer::select($options, 'pack[]', '', false, array('size' => 15, 'multiple' => 'multiple'));
     echo html_writer::empty_tag('input', array('type' => 'hidden', 'name' => 'sesskey', 'value' => sesskey()));
index 443f5cd..30050e4 100644 (file)
@@ -96,6 +96,7 @@ echo $OUTPUT->box_start();     // The forms section at the top
 
 <form method="post" action="index.php">
   <div>
+    <label class="accesshide" for="keyword_el"><?php get_string('keyword', 'tool_spamcleaner') ?></label>
     <input type="text" name="keyword" id="keyword_el" value="<?php p($keyword) ?>" />
     <input type="hidden" name="sesskey" value="<?php echo sesskey();?>" />
     <input type="submit" value="<?php echo get_string('spamsearch', 'tool_spamcleaner')?>" />
index 5a86357..df6b4a3 100644 (file)
@@ -38,6 +38,7 @@ $string['spamfromcomments'] = 'From comments:';
 $string['spamfrommessages'] = 'From messages:';
 $string['spamfromforumpost'] = 'From forum post:';
 $string['spaminvalidresult'] = 'Unknown but invalid result';
+$string['spamkeyword'] = 'Keyword';
 $string['spamoperation'] = 'Operation';
 $string['spamresult'] = 'Results of searching user profiles containing:';
 $string['spamsearch'] = 'Search for these keywords';
index 1473cc4..261efcb 100644 (file)
@@ -115,7 +115,7 @@ class new_table_from_mysql extends XMLDBAction {
             $o.= '    <input type="hidden" name ="postaction" value="edit_table" />';
             $o.= '    <input type="hidden" name ="sesskey" value="' . sesskey() . '" />';
             $o.= '    <table id="formelements" class="boxaligncenter" cellpadding="5">';
-            $o.= '      <tr><td><label for="table" accesskey="t">' . $this->str['createtable'] .' </label>' . html_writer::select($selecttables, 'table') . '<label for="after" accesskey="a">' . $this->str['aftertable'] . ' </label>' .html_writer::select($aftertables, 'after') . '</td></tr>';
+            $o.= '      <tr><td><label for="menutable" accesskey="t">' . $this->str['createtable'] .' </label>' . html_writer::select($selecttables, 'table') . '<label for="menuafter" accesskey="a">' . $this->str['aftertable'] . ' </label>' .html_writer::select($aftertables, 'after') . '</td></tr>';
             $o.= '      <tr><td colspan="2" align="center"><input type="submit" value="' .$this->str['create'] . '" /></td></tr>';
             $o.= '      <tr><td colspan="2" align="center"><a href="index.php?action=edit_xml_file&amp;dir=' . urlencode(str_replace($CFG->dirroot, '', $dirpath)) . '">[' . $this->str['back'] . ']</a></td></tr>';
             $o.= '    </table>';
index 5d98a3a..7e3ef9c 100644 (file)
@@ -116,7 +116,7 @@ class view_structure_php extends XMLDBAction {
         $o.= '    <input type="hidden" name ="dir" value="' . str_replace($CFG->dirroot, '', $dirpath) . '" />';
         $o.= '    <input type="hidden" name ="action" value="view_structure_php" />';
         $o.= '    <table id="formelements" class="boxaligncenter" cellpadding="5">';
-        $o.= '      <tr><td><label for="action" accesskey="c">' . $this->str['selectaction'] .' </label>' . html_writer::select($popcommands, 'command', $commandparam, false) . '&nbsp;<label for="table" accesskey="t">' . $this->str['selecttable'] . ' </label>' .html_writer::select($poptables, 'table', $tableparam, false) . '</td></tr>';
+        $o.= '      <tr><td><label for="menucommand" accesskey="c">' . $this->str['selectaction'] .' </label>' . html_writer::select($popcommands, 'command', $commandparam, false) . '&nbsp;<label for="menutable" accesskey="t">' . $this->str['selecttable'] . ' </label>' .html_writer::select($poptables, 'table', $tableparam, false) . '</td></tr>';
         $o.= '      <tr><td colspan="2" align="center"><input type="submit" value="' .$this->str['view'] . '" /></td></tr>';
         $o.= '    </table>';
         $o.= '</div></form>';
index 7ce2157..2146d78 100644 (file)
@@ -165,7 +165,7 @@ class view_table_php extends XMLDBAction {
         $o.= '    <input type="hidden" name ="table" value="' . s($tableparam) . '" />';
         $o.= '    <input type="hidden" name ="action" value="view_table_php" />';
         $o.= '    <table id="formelements" class="boxaligncenter" cellpadding="5">';
-        $o.= '      <tr><td><label for="action" accesskey="c">' . $this->str['selectaction'] .' </label>' . html_writer::select($popcommands, 'command', $commandparam, false) . '&nbsp;<label for="fieldkeyindex" accesskey="f">' . $this->str['selectfieldkeyindex'] . ' </label>' .html_writer::select($popfields, 'fieldkeyindex', $origfieldkeyindexparam, false) . '</td></tr>';
+        $o.= '      <tr><td><label for="menucommand" accesskey="c">' . $this->str['selectaction'] .' </label>' . html_writer::select($popcommands, 'command', $commandparam, false) . '&nbsp;<label for="menufieldkeyindex" accesskey="f">' . $this->str['selectfieldkeyindex'] . ' </label>' .html_writer::select($popfields, 'fieldkeyindex', $origfieldkeyindexparam, false) . '</td></tr>';
         $o.= '      <tr><td colspan="2" align="center"><input type="submit" value="' .$this->str['view'] . '" /></td></tr>';
         $o.= '    </table>';
         $o.= '</div></form>';
index 4781cb9..28557dd 100644 (file)
@@ -94,9 +94,9 @@ $yesno = array( get_string('no'), get_string('yes') );
     </td>
 </tr>
 <tr valign="top" class="required">
-    <td align="right"><?php print_string('auth_cas_hostname_key', 'auth_cas') ?>:</td>
+    <td align="right"><label for="hostname"><?php print_string('auth_cas_hostname_key', 'auth_cas') ?>: </label></td>
     <td>
-        <input name="hostname" type="text" size="30" value="<?php echo $config->hostname ?>" />
+        <input name="hostname" id="hostname" type="text" size="30" value="<?php echo $config->hostname ?>" />
         <?php if (isset($err['hostname'])) { echo $OUTPUT->error_text($err['hostname']); } ?>
     </td>
     <td>
@@ -105,10 +105,10 @@ $yesno = array( get_string('no'), get_string('yes') );
 </tr>
 <tr valign="top" class="required">
     <td align="right">
-        <?php print_string('auth_cas_baseuri_key', 'auth_cas') ?>:
+        <label for="baseuri"><?php print_string('auth_cas_baseuri_key', 'auth_cas') ?>: </label>
     </td>
     <td>
-        <input name="baseuri" type="text" size="30" value="<?php echo $config->baseuri ?>" />
+        <input name="baseuri" id="baseuri" type="text" size="30" value="<?php echo $config->baseuri ?>" />
         <?php if (isset($err['baseuri'])) { echo $OUTPUT->error_text($err['baseuri']); } ?>
     </td>
     <td>
@@ -117,10 +117,10 @@ $yesno = array( get_string('no'), get_string('yes') );
 </tr>
 <tr valign="top" class="required">
     <td align="right">
-        <?php print_string('auth_cas_port_key', 'auth_cas') ?>:
+        <label for="port"><?php print_string('auth_cas_port_key', 'auth_cas') ?>: </label>
     </td>
     <td>
-        <input name="port" type="text" size="30" value="<?php echo $config->port ?>" />
+        <input name="port" id="port" type="text" size="30" value="<?php echo $config->port ?>" />
         <?php if (isset($err['port'])) { echo $OUTPUT->error_text($err['port']); } ?>
     </td>
     <td>
@@ -129,7 +129,7 @@ $yesno = array( get_string('no'), get_string('yes') );
 </tr>
 <tr valign="top" class="required">
     <td align="right">
-        <?php print_string('auth_cas_casversion', 'auth_cas') ?>:
+        <?php echo html_writer::label(get_string('auth_cas_casversion', 'auth_cas'), 'menucasversion'); ?>:
     </td>
     <td>
         <?php
@@ -145,7 +145,7 @@ $yesno = array( get_string('no'), get_string('yes') );
     </td>
 </tr>
 <tr valign="top" class="required">
-    <td align="right"><?php print_string('auth_cas_language_key', 'auth_cas') ?>:</td>
+    <td align="right"><?php echo html_writer::label(get_string('auth_cas_language_key', 'auth_cas'), 'menulanguage'); ?>:</td>
     <td>
         <?php echo html_writer::select($CASLANGUAGES, 'language', $config->language, false); ?>
     </td>
@@ -155,7 +155,7 @@ $yesno = array( get_string('no'), get_string('yes') );
 </tr>
 <tr valign="top" class="required">
     <td align="right">
-        <?php print_string('auth_cas_proxycas_key', 'auth_cas') ?>:
+        <?php echo html_writer::label(get_string('auth_cas_proxycas_key', 'auth_cas'), 'menuproxycas'); ?>:
     </td>
     <td>
         <?php echo html_writer::select($yesno, 'proxycas', $config->proxycas, false); ?>
@@ -165,7 +165,7 @@ $yesno = array( get_string('no'), get_string('yes') );
     </td>
 </tr>
 <tr valign="top" class="required">
-    <td align="right"><?php print_string('auth_cas_logoutcas_key', 'auth_cas') ?>:</td>
+    <td align="right"><?php echo html_writer::label(get_string('auth_cas_logoutcas_key', 'auth_cas'), 'menulogoutcas'); ?>:</td>
     <td>
         <?php echo html_writer::select($yesno, 'logoutcas', $config->logoutcas, false); ?>
     </td>
@@ -174,7 +174,7 @@ $yesno = array( get_string('no'), get_string('yes') );
     </td>
 </tr>
 <tr valign="top" class="required">
-    <td align="right"><?php print_string('auth_cas_multiauth_key', 'auth_cas') ?>:</td>
+    <td align="right"><?php echo html_writer::label(get_string('auth_cas_multiauth_key', 'auth_cas'), 'menumultiauth'); ?>:</td>
     <td>
         <?php echo html_writer::select($yesno, 'multiauth', $config->multiauth, false); ?>
     </td>
@@ -183,7 +183,7 @@ $yesno = array( get_string('no'), get_string('yes') );
     </td>
 </tr>
 <tr valign="top"  class="required">
-    <td align="right"><?php print_string('auth_cas_certificate_check_key', 'auth_cas') ?>:</td>
+    <td align="right"><?php echo html_writer::label(get_string('auth_cas_certificate_check_key', 'auth_cas'), 'menucertificate_check'); ?>:</td>
     <td>
         <?php echo html_writer::select($yesno, 'certificate_check', $config->certificate_check, false); ?>
     </td>
@@ -192,7 +192,7 @@ $yesno = array( get_string('no'), get_string('yes') );
     </td>
 </tr>
 <tr valign="top" class="required">
-    <td align="right"><?php print_string('auth_cas_certificate_path_key', 'auth_cas') ?>:</td>
+    <td align="right"><label for="certificate_path"><?php print_string('auth_cas_certificate_path_key', 'auth_cas') ?>: </label></td>
     <td>
         <input name="certificate_path" id="certificate_path" type="text" size="30" value="<?php echo $config->certificate_path ?>" />
         <?php if (isset($err['certificate_path'])) echo $OUTPUT->error_text($err['certificate_path']); ?>
@@ -219,7 +219,7 @@ $yesno = array( get_string('no'), get_string('yes') );
     </td>
 </tr>
 <tr valign="top" class="required">
-    <td align="right"><label for="menuversion"><?php print_string('auth_ldap_version_key', 'auth_ldap') ?></label></td>
+    <td align="right"><label for="menuldap_version"><?php print_string('auth_ldap_version_key', 'auth_ldap') ?></label></td>
     <td>
         <?php
              $versions = array();
index 91dd8c8..2696c23 100644 (file)
@@ -27,9 +27,9 @@
 <table cellspacing="0" cellpadding="5" border="0">
 
 <tr valign="top" class="required">
-    <td align="right"><?php  print_string("auth_fchost_key", "auth_fc") ?>:</td>
+    <td align="right"><label for="host"><?php  print_string("auth_fchost_key", "auth_fc") ?>:</label></td>
     <td>
-        <input name="host" type="text" size="30" value="<?php echo $config->host?>" />
+        <input name="host" id="host" type="text" size="30" value="<?php echo $config->host?>" />
     <?php  if (isset($err["host"])) echo $OUTPUT->error_text($err["host"]); ?>
     </td>
     <td>
@@ -38,9 +38,9 @@
 </tr>
 
 <tr valign="top" class="required">
-    <td align="right"><?php  print_string("auth_fcfppport_key", "auth_fc") ?>:</td>
+    <td align="right"><label for="fppport"><?php  print_string("auth_fcfppport_key", "auth_fc") ?>: </label></td>
     <td>
-        <input name="fppport" type="text" size="30" value="<?php echo $config->fppport?>" />
+        <input name="fppport" id="fppport" type="text" size="30" value="<?php echo $config->fppport?>" />
     <?php  if (isset($err["fppport"])) echo $OUTPUT->error_text($err["host"]); ?>
     </td>
     <td>
@@ -70,9 +70,9 @@
 </tr>
 
 <tr valign="top" class="required">
-    <td align="right"><?php  print_string("auth_fccreators_key", "auth_fc") ?>:</td>
+    <td align="right"><label for="creators"><?php  print_string("auth_fccreators_key", "auth_fc") ?>: </label></td>
     <td>
-        <input name="creators" type="text" size="30" value="<?php echo $config->creators?>" />
+        <input name="creators" id="creators" type="text" size="30" value="<?php echo $config->creators?>" />
     <?php  if (isset($err["creators"])) echo $OUTPUT->error_text($err["creators"]); ?>
     </td>
     <td>
@@ -81,9 +81,9 @@
 </tr>
 
 <tr valign="top">
-    <td align="right"><?php print_string('auth_fcchangepasswordurl', 'auth_fc') ?>: </td>
+    <td align="right"><label for="changepasswordurl"><?php print_string('auth_fcchangepasswordurl', 'auth_fc') ?>: </label></td>
     <td>
-        <input name="changepasswordurl" type="text" value="<?php echo $config->changepasswordurl ?>" />
+        <input name="changepasswordurl" id="changepasswordurl" type="text" value="<?php echo $config->changepasswordurl ?>" />
         <?php
 
         if (isset($err['changepasswordurl'])) {
index d88ad3a..e36fdd0 100644 (file)
@@ -18,9 +18,9 @@ if (!isset($config->changepasswordurl)) {
 <table cellspacing="0" cellpadding="5" border="0">
 
 <tr valign="top" class="required">
-    <td align="right"><?php print_string('auth_imaphost_key', 'auth_imap') ?>: </td>
+    <td align="right"><label for="host"><?php print_string('auth_imaphost_key', 'auth_imap') ?>: </label></td>
     <td>
-        <input name="host" type="text" size="30" value="<?php echo $config->host ?>" />
+        <input name="host" id="host" type="text" size="30" value="<?php echo $config->host ?>" />
         <?php
 
         if (isset($err['host'])) {
@@ -40,7 +40,7 @@ if (!isset($config->changepasswordurl)) {
 </tr>
 
 <tr valign="top" class="required">
-    <td align="right"><?php print_string('auth_imaptype_key', 'auth_imap') ?>: </td>
+    <td align="right"><?php echo html_writer::label(get_string('auth_imaptype_key', 'auth_imap'), 'menutype'); ?>: </td>
     <td>
         <?php
 
@@ -56,9 +56,9 @@ if (!isset($config->changepasswordurl)) {
 </tr>
 
 <tr valign="top" class="required">
-    <td align="right"><?php print_string('auth_imapport_key', 'auth_imap') ?>: </td>
+    <td align="right"><label for="port"><?php print_string('auth_imapport_key', 'auth_imap') ?>: </label></td>
     <td>
-        <input name="port" type="text" size="6" value="<?php echo $config->port ?>" />
+        <input name="port" id="port" type="text" size="6" value="<?php echo $config->port ?>" />
         <?php
 
         if (isset($err['port'])) {
@@ -71,9 +71,9 @@ if (!isset($config->changepasswordurl)) {
 </tr>
 
 <tr valign="top">
-    <td align="right"><?php print_string('auth_imapchangepasswordurl_key', 'auth_imap') ?>: </td>
+    <td align="right"><label for="changepasswordurl"><?php print_string('auth_imapchangepasswordurl_key', 'auth_imap') ?>: </label></td>
     <td>
-        <input name="changepasswordurl" type="text" value="<?php echo $config->changepasswordurl ?>" />
+        <input name="changepasswordurl" id="changepasswordurl" type="text" value="<?php echo $config->changepasswordurl ?>" />
         <?php
 
         if (isset($err['changepasswordurl'])) {
index 72519c7..8ad27ef 100644 (file)
@@ -118,7 +118,7 @@ $yesno = array(get_string('no'), get_string('yes'));
 </tr>
 <tr valign="top" class="required">
     <td align="right">
-        <label for="menuversion"><?php print_string('auth_ldap_version_key', 'auth_ldap') ?></label>
+        <label for="menuldap_version"><?php print_string('auth_ldap_version_key', 'auth_ldap') ?></label>
     </td>
     <td>
         <?php
index 2dbba3f..c25b314 100644 (file)
@@ -22,9 +22,9 @@ if (empty($CFG->mnet_dispatcher_mode) || $CFG->mnet_dispatcher_mode !== 'strict'
 <table cellspacing="0" cellpadding="5">
 
 <tr valign="top" class="required">
-    <td align="right"><?php print_string('rpc_negotiation_timeout', 'auth_mnet'); ?>: </td>
+    <td align="right"><label for="rpc_negotiation_timeout"><?php print_string('rpc_negotiation_timeout', 'auth_mnet'); ?>: </label></td>
     <td>
-        <input name="rpc_negotiation_timeout" type="text" size="5" value="<?php echo $config->rpc_negotiation_timeout ?>" />
+        <input name="rpc_negotiation_timeout" id="rpc_negotiation_timeout" type="text" size="5" value="<?php echo $config->rpc_negotiation_timeout ?>" />
         <?php
 
         if (isset($err['rpc_negotiation_timeout'])) {
@@ -45,7 +45,7 @@ if (empty($CFG->mnet_dispatcher_mode) || $CFG->mnet_dispatcher_mode !== 'strict'
 <?php /*
  See MDL-21327   for why this is commented out
 <tr valign="top" class="required">
-    <td align="right"><?php print_string('auto_add_remote_users', 'auth_mnet'); ?>: </td>
+    <td align="right"><?php echo html_writer::label(get_string('auto_add_remote_users', 'auth_mnet'), 'menuauto_add_remote_users'); ?>: </td>
     <td>
         <?php
 
index 179efdd..c9ed4c5 100644 (file)
@@ -15,9 +15,9 @@ if (!isset($config->changepasswordurl)) {
 <table cellspacing="0" cellpadding="5" border="0">
 
 <tr valign="top" class="required">
-    <td align="right"><?php print_string('auth_nntphost_key', 'auth_nntp') ?>: </td>
+    <td align="right"><label for="host"><?php print_string('auth_nntphost_key', 'auth_nntp') ?>: </label></td>
     <td>
-        <input name="host" type="text" size="30" value="<?php echo $config->host ?>" />
+        <input name="host" id="host" type="text" size="30" value="<?php echo $config->host ?>" />
         <?php
 
         if (isset($err["host"])) {
@@ -37,9 +37,9 @@ if (!isset($config->changepasswordurl)) {
 </tr>
 
 <tr valign="top" class="required">
-    <td align="right"><?php print_string('auth_nntpport_key', 'auth_nntp') ?>: </td>
+    <td align="right"><label for="port"><?php print_string('auth_nntpport_key', 'auth_nntp') ?>: </label></td>
     <td>
-        <input name="port" type="text" size="6" value="<?php echo $config->port ?>" />
+        <input name="port" id="port" type="text" size="6" value="<?php echo $config->port ?>" />
         <?php
 
         if (isset($err["port"])) {
@@ -52,9 +52,9 @@ if (!isset($config->changepasswordurl)) {
 </tr>
 
 <tr valign="top">
-    <td align="right"><?php print_string('auth_nntpchangepasswordurl_key', 'auth_nntp') ?>: </td>
+    <td align="right"><label for="changepasswordurl"><?php print_string('auth_nntpchangepasswordurl_key', 'auth_nntp') ?>: </label></td>
     <td>
-        <input name="changepasswordurl" type="text" value="<?php echo $config->changepasswordurl ?>" />
+        <input name="changepasswordurl" id="changepasswordurl" type="text" value="<?php echo $config->changepasswordurl ?>" />
         <?php
 
         if (isset($err['changepasswordurl'])) {
index e2d7e7a..1f21e67 100644 (file)
@@ -21,9 +21,9 @@ if (!isset($config->changepasswordurl)) {
 <table cellspacing="0" cellpadding="5" border="0">
 
 <tr valign="top" class="required">
-    <td align="right"><?php print_string('auth_pop3host_key', 'auth_pop3') ?>: </td>
+    <td align="right"><label for="host"><?php print_string('auth_pop3host_key', 'auth_pop3') ?>: </label></td>
     <td>
-        <input name="host" type="text" size="30" value="<?php echo $config->host ?>" />
+        <input name="host" id="host" type="text" size="30" value="<?php echo $config->host ?>" />
         <?php
 
         if (isset($err['host'])) {
@@ -43,7 +43,7 @@ if (!isset($config->changepasswordurl)) {
 </tr>
 
 <tr valign="top" class="required">
-    <td align="right"><?php print_string('auth_pop3type_key', 'auth_pop3') ?>: </td>
+    <td align="right"><?php echo html_writer::label(get_string('auth_pop3type_key', 'auth_pop3'), 'menutype'); ?>: </td>
     <td>
         <?php
 
@@ -59,9 +59,9 @@ if (!isset($config->changepasswordurl)) {
 </tr>
 
 <tr valign="top" class="required">
-    <td align="right"><?php print_string('auth_pop3port_key', 'auth_pop3') ?>: </td>
+    <td align="right"><label for="port"><?php print_string('auth_pop3port_key', 'auth_pop3') ?>: </label></td>
     <td>
-        <input name="port" type="text" size="6" value="<?php echo $config->port ?>" />
+        <input name="port" id="port" type="text" size="6" value="<?php echo $config->port ?>" />
         <?php
 
         if (isset($err['port'])) {
@@ -74,9 +74,9 @@ if (!isset($config->changepasswordurl)) {
 </tr>
 
 <tr valign="top" class="required">
-    <td align="right"><?php print_string('auth_pop3mailbox_key', 'auth_pop3') ?>: </td>
+    <td align="right"><label for="mailbox"><?php print_string('auth_pop3mailbox_key', 'auth_pop3') ?>: </label></td>
     <td>
-        <input name="mailbox" type="text" size="6" value="<?php echo $config->mailbox ?>" />
+        <input name="mailbox" id="mailbox" type="text" size="6" value="<?php echo $config->mailbox ?>" />
         <?php
 
         if (isset($err['mailbox'])) {
@@ -89,9 +89,9 @@ if (!isset($config->changepasswordurl)) {
 </tr>
 
 <tr valign="top">
-    <td align="right"><?php print_string('auth_pop3changepasswordurl_key', 'auth_pop3') ?>: </td>
+    <td align="right"><label for="changepasswordurl"><?php print_string('auth_pop3changepasswordurl_key', 'auth_pop3') ?>: </label></td>
     <td>
-        <input name="changepasswordurl" type="text" value="<?php echo $config->changepasswordurl ?>" />
+        <input name="changepasswordurl" id="changepasswordurl" type="text" value="<?php echo $config->changepasswordurl ?>" />
         <?php
 
         if (isset($err['changepasswordurl'])) {
index 5973c34..103bb20 100644 (file)
@@ -30,9 +30,9 @@ if (!isset($config->changepasswordurl)) {
 <table cellspacing="0" cellpadding="5" border="0">
 
 <tr valign="top">
-    <td align="right"><?php print_string('auth_radiushost_key', 'auth_radius') ?>: </td>
+    <td align="right"><label for="host"><?php print_string('auth_radiushost_key', 'auth_radius') ?>: </label></td>
     <td>
-        <input name="host" type="text" size="30" value="<?php echo $config->host ?>" />
+        <input name="host" id="host" type="text" size="30" value="<?php echo $config->host ?>" />
         <?php
 
         if (isset($err['host'])) {
@@ -45,9 +45,9 @@ if (!isset($config->changepasswordurl)) {
 </tr>
 
 <tr valign="top">
-    <td align="right"><?php print_string('auth_radiusnasport_key', 'auth_radius') ?>: </td>
+    <td align="right"><label for="nasport"><?php print_string('auth_radiusnasport_key', 'auth_radius') ?>: </label></td>
     <td>
-        <input name="nasport" type="text" size="6" value="<?php echo $config->nasport ?>" />
+        <input name="nasport" id="nasport" type="text" size="6" value="<?php echo $config->nasport ?>" />
         <?php
 
         if (isset($err['nasport'])) {
@@ -60,7 +60,7 @@ if (!isset($config->changepasswordurl)) {
 </tr>
 
 <tr valign="top" >
-    <td align="right"><?php print_string('auth_radiustype_key', 'auth_radius') ?>: </td>
+    <td align="right"><?php echo html_writer::label(get_string('auth_radiustype_key', 'auth_radius'), 'menuradiustype'); ?>: </td>
     <td>
 <?php
 
@@ -82,9 +82,9 @@ if (!isset($config->changepasswordurl)) {
 
 
 <tr valign="top" >
-    <td align="right"><?php print_string('auth_radiussecret_key', 'auth_radius') ?>: </td>
+    <td align="right"><label for="secret"><?php print_string('auth_radiussecret_key', 'auth_radius') ?>: </label></td>
     <td>
-        <input name="secret" type="text" size="6" value="<?php echo $config->secret ?>" />
+        <input name="secret" id="secret" type="text" size="6" value="<?php echo $config->secret ?>" />
         <?php
 
         if (isset($err['secret'])) {
@@ -97,9 +97,9 @@ if (!isset($config->changepasswordurl)) {
 </tr>
 
 <tr valign="top">
-    <td align="right"><?php print_string('auth_radiuschangepasswordurl_key', 'auth_radius') ?>: </td>
+    <td align="right"><label for="changepasswordurl"><?php print_string('auth_radiuschangepasswordurl_key', 'auth_radius') ?>: </label></td>
     <td>
-        <input name="changepasswordurl" type="text" value="<?php echo $config->changepasswordurl ?>" />
+        <input name="changepasswordurl" id="changepasswordurl" type="text" value="<?php echo $config->changepasswordurl ?>" />
         <?php
 
         if (isset($err['changepasswordurl'])) {
index 18dfdea..754ef91 100644 (file)
@@ -20,7 +20,7 @@
 <table cellspacing="0" cellpadding="5" border="0">
 
 <tr valign="top" class="required">
-    <td align="right"><?php print_string("username") ?>:</td>
+    <td align="right"><label for="user_attribute"><?php print_string("username") ?>: </label></td>
     <td>
         <input name="user_attribute" type="text" size="30" value="<?php echo $config->user_attribute ?>" />
     </td>
@@ -28,9 +28,9 @@
 </tr>
 
 <tr valign="top">
-    <td align="right"><?php print_string("auth_shib_convert_data", "auth_shibboleth") ?>:</td>
+    <td align="right"><label for="convert_data"><?php print_string("auth_shib_convert_data", "auth_shibboleth") ?>: </label></td>
     <td>
-        <input name="convert_data" type="text" size="30" value="<?php echo $config->convert_data?>" />
+        <input name="convert_data" id="convert_data" type="text" size="30" value="<?php echo $config->convert_data?>" />
         <?php
 
         if ($config->convert_data and $config->convert_data != '' and !is_readable($config->convert_data)) {
@@ -82,9 +82,9 @@ urn:mace:organization2:providerID, Example Organization 2, /Shibboleth.sso/WAYF/
 </tr>
 
 <tr valign="top">
-    <td align="right"><?php print_string("auth_shib_logout_url", "auth_shibboleth") ?>:</td>
+    <td align="right"><label for="logout_handler"><?php print_string("auth_shib_logout_url", "auth_shibboleth") ?>: </label></td>
     <td>
-        <input name="logout_handler" type="text" size="30" value="<?php
+        <input name="logout_handler" id="logout_handler" type="text" size="30" value="<?php
         if ( isset($config->logout_handler) and !empty($config->logout_handler)){
             echo $config->logout_handler;
         }
@@ -94,9 +94,9 @@ urn:mace:organization2:providerID, Example Organization 2, /Shibboleth.sso/WAYF/
 </tr>
 
 <tr valign="top">
-    <td align="right"><?php print_string("auth_shib_logout_return_url", "auth_shibboleth") ?>:</td>
+    <td align="right"><label for="logout_return_url"><?php print_string("auth_shib_logout_return_url", "auth_shibboleth") ?>: </label></td>
     <td>
-        <input name="logout_return_url" type="text" size="30" value="<?php
+        <input name="logout_return_url" id="logout_return_url" type="text" size="30" value="<?php
         if ( isset($config->logout_return_url) and !empty($config->logout_return_url)){
             echo $config->logout_return_url;
         }
@@ -106,9 +106,9 @@ urn:mace:organization2:providerID, Example Organization 2, /Shibboleth.sso/WAYF/
 </tr>
 
 <tr valign="top">
-    <td align="right"><?php print_string("auth_shib_auth_method", "auth_shibboleth") ?>:</td>
+    <td align="right"><label for="login_name"><?php print_string("auth_shib_auth_method", "auth_shibboleth") ?>: </label></td>
     <td>
-        <input name="login_name" type="text" size="30" value="<?php
+        <input name="login_name" id="login_name" type="text" size="30" value="<?php
         if ( isset($config->login_name) and !empty($config->login_name)){
             echo htmlentities($config->login_name);
         } else {
@@ -120,9 +120,9 @@ urn:mace:organization2:providerID, Example Organization 2, /Shibboleth.sso/WAYF/
 </tr>
 
 <tr valign="top">
-    <td align="right"><?php print_string('auth_shib_changepasswordurl', 'auth_shibboleth') ?>: </td>
+    <td align="right"><label for="changepasswordurl"><?php print_string('auth_shib_changepasswordurl', 'auth_shibboleth') ?>: </label></td>
     <td>
-        <input name="changepasswordurl" type="text" value="<?php echo $config->changepasswordurl ?>" />
+        <input name="changepasswordurl" id="changepasswordurl" type="text" value="<?php echo $config->changepasswordurl ?>" />
         <?php
 
         if (isset($err['changepasswordurl'])) {
index 423faa0..1e93cf2 100644 (file)
@@ -29,9 +29,9 @@ if ($show_instructions) {
 
         ?>
           <div class="guestsub">
-          <p><?php print_string("auth_shibboleth_select_organization", "auth_shibboleth"); ?></p>
+          <p><label for="idp"><?php print_string("auth_shibboleth_select_organization", "auth_shibboleth"); ?></label></p>
             <form action="login.php" method="post" id="guestlogin">
-            <select name="idp">
+            <select id="idp" name="idp">
                 <option value="-" ><?php print_string("auth_shibboleth_select_member", "auth_shibboleth"); ?></option>
                 <?php
                     print_idp_list();
index 7afcdfd..1f8d8f6 100644 (file)
@@ -343,7 +343,16 @@ class core_backup_renderer extends plugin_renderer_base {
         } else {
             $description = '';
         }
-        return $this->backup_detail_pair($label, html_writer::empty_tag('input', $attributes+array('name'=>$name, 'type'=>$type, 'value'=>$value)).$description);
+
+        if ($type == 'text') {
+            if (empty($attributes['id'])) {
+                $attributes['id'] = $name;
+            }
+            $label = html_writer::label($name, $attibutes['id'], false, array('class' => 'accesshide'));
+        } else {
+            $label = '';
+        }
+        return $this->backup_detail_pair($label, $label . html_writer::empty_tag('input', $attributes+array('name'=>$name, 'type'=>$type, 'value'=>$value)).$description);
     }
 
     /**
index efc2fbc..a2765da 100644 (file)
@@ -66,7 +66,7 @@ for($i = 1; $i < 3; $i++){
 ?>
     <tr valign="top">
         <td align="right">
-            <?php print_string('numsections'.$i, 'block_section_links'); ?>:
+            <label for="menunumsections<?php echo $i; ?>"><?php print_string('numsections'.$i, 'block_section_links'); ?>:</label>
         </td>
         <td>
             <?php choose_from_menu($numberofsections, 'numsections'.$i, $selected[$i][0]); ?>
@@ -77,7 +77,7 @@ for($i = 1; $i < 3; $i++){
     </tr>
     <tr valign="top">
         <td align="right">
-            <?php print_string('incby'.$i, 'block_section_links'); ?>:
+            <label for="menuincby<?php echo $i;?>"><?php print_string('incby'.$i, 'block_section_links'); ?>:</label>
         </td>
         <td>
             <?php choose_from_menu($increments, 'incby'.$i, $selected[$i][1]); ?>
index b7a35fd..7ce4a4a 100644 (file)
@@ -225,7 +225,6 @@ class block_tags extends block_base {
             if ($officialtags) { $this->content->text .= $officialtagscontent; }
             if ($coursetags) { $this->content->text .= $coursetagscontent; }
             if ($commtags) { $this->content->text .= $commtagscontent; }
-
             // add the input form section (allowing a user to tag the current course) and navigation, or loggin message
             if ($loggedin) {
                 // only show the input form on course pages for those allowed (or not barred)
@@ -250,7 +249,8 @@ class block_tags extends block_base {
                             <div class="coursetag_form_wrapper">
                             <div class="coursetag_form_positioner">
                                 <div class="coursetag_form_input1">
-                                    <input type="text" name="coursetag_sug_keyword" class="coursetag_form_input1a" disabled="disabled" />
+                                    <label class="accesshide" for="coursetag_sug_keyword">$tagthisunit</label>
+                                    <input type="text" name="coursetag_sug_keyword" id="coursetag_sug_keyword" class="coursetag_form_input1a" disabled="disabled" />
                                 </div>
                                 <div class="coursetag_form_input2">
                                     <input type="text" name="coursetag_new_tag" id="coursetag_new_tag" class="coursetag_form_input2a"
index 7280f14..efc163e 100644 (file)
@@ -1653,6 +1653,7 @@ function calendar_print_month_selector($name, $selected) {
     for ($i=1; $i<=12; $i++) {
         $months[$i] = userdate(gmmktime(12, 0, 0, $i, 15, 2000), '%B');
     }
+    echo html_writer::label(get_string('months'), 'menu'. $name, false, array('class' => 'accesshide'));
     echo html_writer::select($months, $name, $selected, false);
 }
 
index 4fe8301..b8a7b99 100644 (file)
@@ -708,7 +708,9 @@ class core_calendar_renderer extends plugin_renderer_base {
         $select = new single_select(new moodle_url(CALENDAR_URL.'set.php', array('return' => base64_encode($returnurl->out(false)), 'var' => 'setcourse', 'sesskey'=>sesskey())), 'id', $courseoptions, $selected, null);
         $select->class = 'cal_courses_flt';
         if ($label !== null) {
-            $select->label = $label;
+            $select->set_label($label);
+        } else {
+            $select->set_label(get_accesshide(get_string('course')));
         }
         return $this->output->render($select);
     }
index 6f4f57c..42eb678 100644 (file)
@@ -424,6 +424,7 @@ if (!$courses) {
         make_categories_list($movetocategories, $notused, 'moodle/category:manage');
         $movetocategories[$category->id] = get_string('moveselectedcoursesto');
         echo '<tr><td colspan="3" align="right">';
+        echo html_writer::label(get_string('moveselectedcoursesto'), 'movetoid', false, array('class' => 'accesshide'));
         echo html_writer::select($movetocategories, 'moveto', $category->id, null, array('id'=>'movetoid'));
         $PAGE->requires->js_init_call('M.util.init_select_autosubmit', array('movecourses', 'movetoid', false));
         echo '<input type="hidden" name="id" value="'.$category->id.'" />';
index ce1466a..bf126ef 100644 (file)
@@ -369,6 +369,7 @@ function print_category_edit($category, $displaylist, $parentslist, $depth=-1, $
             }
             $popupurl = new moodle_url("index.php?move=$category->id&sesskey=".sesskey());
             $select = new single_select($popupurl, 'moveto', $tempdisplaylist, $category->parent, null, "moveform$category->id");
+            $select->set_label(get_accesshide(get_string('frontpagecategorynames')));
             echo $OUTPUT->render($select);
         }
         echo '</td>';
index 07bf4fa..8a6e14a 100644 (file)
@@ -70,6 +70,7 @@ if ($scaleid) {
             echo $OUTPUT->box_start();
             echo $OUTPUT->heading($scale->name);
             echo "<center>";
+            echo html_writer::label(get_string('scales'), 'menuunused', false, array('class' => 'accesshide'));
             echo html_writer::select($scalemenu, 'unused');
             echo "</center>";
             echo text_to_html($scale->description);
@@ -101,6 +102,7 @@ if ($scales = $DB->get_records("scale", array("courseid"=>$course->id), "name AS
         echo $OUTPUT->box_start();
         echo $OUTPUT->heading($scale->name);
         echo "<center>";
+        echo html_writer::label(get_string('scales'), 'menuunused', false, array('class' => 'accesshide'));
         echo html_writer::select($scalemenu, 'unused');
         echo "</center>";
         echo text_to_html($scale->description);
@@ -127,6 +129,7 @@ if ($scales = $DB->get_records("scale", array("courseid"=>0), "name ASC")) {
         echo $OUTPUT->box_start();
         echo $OUTPUT->heading($scale->name);
         echo "<center>";
+        echo html_writer::label(get_string('scales'), 'menuunused', false, array('class' => 'accesshide'));
         echo html_writer::select($scalemenu, 'unused');
         echo "</center>";
         echo text_to_html($scale->description);
index 246577c..8c9f85c 100644 (file)
@@ -377,6 +377,7 @@ if ($courses) {
         echo "<input type=\"button\" onclick=\"checkall()\" value=\"$strselectall\" />\n";
         echo "<input type=\"button\" onclick=\"checknone()\" value=\"$strdeselectall\" />\n";
         // Select box should only show categories in which user has min capability to move course.
+        echo html_writer::label(get_string('moveselectedcoursesto'), 'movetoid', false, array('class' => 'accesshide'));
         echo html_writer::select($usercatlist, 'moveto', '', array(''=>get_string('moveselectedcoursesto')), array('id'=>'movetoid'));
         $PAGE->requires->js_init_call('M.util.init_select_autosubmit', array('movecourses', 'movetoid', false));
         echo "</td>\n</tr>\n";
index 058b1b0..aeee664 100644 (file)
@@ -58,7 +58,9 @@ function authorize_print_orders($courseid, $userid) {
 
     $searchmenu = array('orderid' => $authstrs->orderid, 'transid' => $authstrs->transid, 'cclastfour' => $authstrs->cclastfour);
     $buttons = "<form method='post' action='index.php' autocomplete='off'><div>";
+    $buttons .= html_writer::label(get_string('orderdetails', 'enrol_authorize'), 'menusearchtype', false, array('class' => 'accesshide'));
     $buttons .= html_writer::select($searchmenu, 'searchtype', $searchtype, false);
+    $buttons .= html_writer::label(get_string('search'), 'menusearchtype', false, array('class' => 'accesshide'));
     $buttons .= "<input type='text' size='16' name='searchquery' value='' />";
     $buttons .= "<input type='submit' value='$strs->search' />";
     $buttons .= "</div></form>";
@@ -81,7 +83,8 @@ function authorize_print_orders($courseid, $userid) {
     if (($popupcrs = $DB->get_records_sql_menu($sql, $params))) {
         $popupcrs = array($SITE->id => $SITE->fullname) + $popupcrs;
     }
-    $popupmenu = empty($popupcrs) ? '' : $OUTPUT->single_select(new moodle_url($baseurl.'&status='.$status), 'course', $popupcrs, $courseid, null, 'coursesmenu');
+    $popmenulabel = array('' => get_accesshide(get_string('course')));
+    $popupmenu = empty($popupcrs) ? '' : $OUTPUT->single_select(new moodle_url($baseurl.'&status='.$status), 'course', $popupcrs, $courseid, $popmenulabel, 'coursesmenu');
     $popupmenu .= '<br />';
     $statusmenu = array(
         AN_STATUS_NONE => $strs->all,
@@ -97,6 +100,7 @@ function authorize_print_orders($courseid, $userid) {
         AN_STATUS_TEST => $authstrs->tested
     );
 
+    $popmenulabel = array('' => get_accesshide(get_string('status')));
     $popupmenu .= $OUTPUT->single_select(new moodle_url($baseurl.'&course='.$courseid), 'status', $statusmenu, $status, null, 'statusmenu');
     if ($canmanagepayments) {
         $popupmenu .= '<br />';
index 94fdc63..f7ea7e2 100644 (file)
@@ -162,13 +162,13 @@ echo $OUTPUT->heading($instancename);
 
               <div class="enroloptions">
 
-              <p><label for="roleid"><?php print_string('assignrole', 'enrol_manual') ?></label><br />
+              <p><label for="menuroleid"><?php print_string('assignrole', 'enrol_manual') ?></label><br />
               <?php echo html_writer::select($roles, 'roleid', $roleid, false); ?></p>
 
-              <p><label for="extendperiod"><?php print_string('enrolperiod', 'enrol') ?></label><br />
+              <p><label for="menuextendperiod"><?php print_string('enrolperiod', 'enrol') ?></label><br />
               <?php echo html_writer::select($periodmenu, 'extendperiod', $defaultperiod, $unlimitedperiod); ?></p>
 
-              <p><label for="extendbase"><?php print_string('startingfrom') ?></label><br />
+              <p><label for="menuextendbase"><?php print_string('startingfrom') ?></label><br />
               <?php echo html_writer::select($basemenu, 'extendbase', $extendbase, false); ?></p>
 
               </div>
index 67b715c..d62ea6f 100644 (file)
@@ -275,12 +275,12 @@ function slasharguments($texexp, $md5) {
 <html>
 <head><title>Algebra Filter Debugger</title></head>
 <body>
-    <p>Please enter an algebraic expression <b>without</b> any surrounding @@ into
-       the text box below. (Click <a href="#help">here for help.</a>)
+    <p><label for="algebra">Please enter an algebraic expression <b>without</b> any surrounding @@ into
+       the text box below. (Click <a href="#help">here for help.</a>)</label>
           <form action="algebradebug.php" method="get"
            target="inlineframe">
             <center>
-             <input type="text" name="algebra" size="50"
+             <input type="text" id="algebra" name="algebra" size="50"
                     value="sin(z)/(x^2+y^2)" />
             </center>
            <ol>
index 943c7fc..04893f1 100644 (file)
@@ -181,7 +181,10 @@ if (empty($availablefilters)) {
         } else {
             $activechoices[TEXTFILTER_INHERIT] = $strdefaultoff;
         }
-        $row[] = html_writer::select($activechoices, str_replace('/', '_', $filter), $filterinfo->localstate, false);
+        $filtername = str_replace('/', '_', $filter);
+        $select = html_writer::label($filterinfo->localstate, 'menu'. $filtername, false, array('class' => 'accesshide'));
+        $select .= html_writer::select($activechoices, $filtername, $filterinfo->localstate, false);
+        $row[] = $select;
 
         // Settings link, if required
         if ($settingscol) {
index 89d5cd2..a18d0c1 100644 (file)
@@ -184,6 +184,7 @@ function get_grade_tree(&$gtree, $element, $current_itemid=null, $errors=null) {
                     $name .= '<div class="error"><span class="error">' . $errors[$grade_item->id].'</span><br />'."\n";
                     $closingdiv = "</div>\n";
                 }
+                $name .= '<label class="accesshide" for="id_idnumber_' . $grade_item->id . '">' . get_string('gradeitems', 'grades')  .'</label>';
                 $name .= '<input class="idnumber" id="id_idnumber_'.$grade_item->id.'" type="text" name="idnumbers['.$grade_item->id.']" />' . "\n";
                 $name .= $closingdiv;
             }
index 801c9ef..b044fe0 100644 (file)
@@ -342,8 +342,8 @@ if (!$moving) {
 if (!$moving && count($grade_edit_tree->categories) > 1) {
     echo '<br /><br />';
     echo '<input type="hidden" name="bulkmove" value="0" id="bulkmoveinput" />';
-    echo get_string('moveselectedto', 'grades') . ' ';
     $attributes = array('id'=>'menumoveafter');
+    echo html_writer::label(get_string('moveselectedto', 'grades'), 'menumoveafter', false, array('class' => 'accesshide'));
     echo html_writer::select($grade_edit_tree->categories, 'moveafter', '', array(''=>'choosedots'), $attributes);
     $OUTPUT->add_action_handler(new component_action('change', 'submit_bulk_move'), 'menumoveafter');
     echo '<div id="noscriptgradetreeform" class="hiddenifjs">
index 5a268b4..f238c19 100644 (file)
@@ -673,7 +673,8 @@ class grade_edit_tree_column_aggregation extends grade_edit_tree_column_category
         } else {
             $attributes = array();
             $attributes['id'] = 'aggregation_'.$category->id;
-            $aggregation = html_writer::select($options, 'aggregation_'.$category->id, $category->aggregation, null, $attributes);
+            $aggregation = html_writer::label(get_string('aggregation', 'grades'), 'aggregation_'.$category->id, false, array('class' => 'accesshide'));
+            $aggregation .= html_writer::select($options, 'aggregation_'.$category->id, $category->aggregation, null, $attributes);
             $action = new component_action('change', 'update_category_aggregation', array('courseid' => $params['id'], 'category' => $category->id, 'sesskey' => sesskey()));
             $OUTPUT->add_action_handler($action, 'aggregation_'.$category->id);
         }
index 9469e94..9ba394d 100644 (file)
@@ -164,7 +164,8 @@ class gradingform_rubric_renderer extends plugin_renderer_base {
         $leveltemplate .= html_writer::start_tag('div', array('class' => 'level-wrapper'));
         if ($mode == gradingform_rubric_controller::DISPLAY_EDIT_FULL) {
             $definition = html_writer::tag('textarea', htmlspecialchars($level['definition']), array('name' => '{NAME}[criteria][{CRITERION-id}][levels][{LEVEL-id}][definition]', 'cols' => '10', 'rows' => '4'));
-            $score = html_writer::empty_tag('input', array('type' => 'text', 'name' => '{NAME}[criteria][{CRITERION-id}][levels][{LEVEL-id}][score]', 'size' => '3', 'value' => $level['score']));
+            $score = html_writer::label(get_string('criterionempty', 'gradingform_rubric'), '{NAME}criteria{CRITERION-id}levels{LEVEL-id}', false, array('class' => 'accesshide'));
+            $score .= html_writer::empty_tag('input', array('type' => 'text', 'name' => '{NAME}[criteria][{CRITERION-id}][levels][{LEVEL-id}][score]', 'size' => '3', 'value' => $level['score']));
         } else {
             if ($mode == gradingform_rubric_controller::DISPLAY_EDIT_FROZEN) {
                 $leveltemplate .= html_writer::empty_tag('input', array('type' => 'hidden', 'name' => '{NAME}[criteria][{CRITERION-id}][levels][{LEVEL-id}][definition]', 'value' => $level['definition']));
@@ -290,7 +291,7 @@ class gradingform_rubric_renderer extends plugin_renderer_base {
             switch ($option) {
                 case 'sortlevelsasc':
                     // Display option as dropdown
-                    $html .= html_writer::tag('span', get_string($option, 'gradingform_rubric'), array('class' => 'label'));
+                    $html .= html_writer::tag('span', html_writer::label(get_string($option, 'gradingform_rubric'), $attrs['id']), array('class' => 'label'));
                     $value = (int)(!!$value); // make sure $value is either 0 or 1
                     if ($mode == gradingform_rubric_controller::DISPLAY_EDIT_FULL) {
                         $selectoptions = array(0 => get_string($option.'0', 'gradingform_rubric'), 1 => get_string($option.'1', 'gradingform_rubric'));
@@ -448,7 +449,7 @@ class gradingform_rubric_renderer extends plugin_renderer_base {
     public function display_regrade_confirmation($elementname, $changelevel, $value) {
         $html = html_writer::start_tag('div', array('class' => 'gradingform_rubric-regrade'));
         if ($changelevel<=2) {
-            $html .= get_string('regrademessage1', 'gradingform_rubric');
+            $html .= html_writer::label(get_string('regrademessage1', 'gradingform_rubric'), 'menu' . $elementname . 'regrade');
             $selectoptions = array(
                 0 => get_string('regradeoption0', 'gradingform_rubric'),
                 1 => get_string('regradeoption1', 'gradingform_rubric')
index 8c969f2..977aeef 100644 (file)
@@ -379,7 +379,7 @@ function print_grade_plugin_selector($plugin_info, $active_type, $active_plugin,
     // finally print/return the popup form
     if ($count > 1) {
         $select = new url_select($menu, $active, null, 'choosepluginreport');
-
+        $select->set_label(get_accesshide(get_string('gradereport', 'grades')));
         if ($return) {
             return $OUTPUT->render($select);
         } else {
index 7601fea..85137e7 100644 (file)
@@ -955,7 +955,8 @@ class grade_report_grader extends grade_report {
                             }
                             $itemcell->text .= '<input type="hidden" id="oldgrade_'.$userid.'_'.$item->id.'" name="oldgrade_'.$userid.'_'.$item->id.'" value="'.$oldval.'"/>';
                             $attributes = array('tabindex' => $tabindices[$item->id]['grade'], 'id'=>'grade_'.$userid.'_'.$item->id);
-                            $itemcell->text .= html_writer::select($scaleopt, 'grade_'.$userid.'_'.$item->id, $gradeval, array(-1=>$nogradestr), $attributes);;
+                            $itemcell->text .= html_writer::label(get_string('typescale', 'grades'), 'grade_'.$userid.'_'.$item->id, false, array('class' => 'accesshide'));
+                            $itemcell->text .= html_writer::select($scaleopt, 'grade_'.$userid.'_'.$item->id, $gradeval, array(-1=>$nogradestr), $attributes);
                         } elseif(!empty($scale)) {
                             $scales = explode(",", $scale->scale);
 
index 4885770..e18d2c9 100644 (file)
--- a/index.php
+++ b/index.php
@@ -35,7 +35,7 @@
     redirect_if_major_upgrade_required();
 
     $urlparams = array();
-    if ($CFG->defaulthomepage == HOMEPAGE_MY && optional_param('redirect', 1, PARAM_BOOL) === 0) {
+    if (!empty($CFG->defaulthomepage) && ($CFG->defaulthomepage == HOMEPAGE_MY) && optional_param('redirect', 1, PARAM_BOOL) === 0) {
         $urlparams['redirect'] = 0;
     }
     $PAGE->set_url('/', $urlparams);
@@ -62,9 +62,9 @@
         // Redirect logged-in users to My Moodle overview if required
         if (optional_param('setdefaulthome', false, PARAM_BOOL)) {
             set_user_preference('user_home_page_preference', HOMEPAGE_SITE);
-        } else if ($CFG->defaulthomepage == HOMEPAGE_MY && optional_param('redirect', 1, PARAM_BOOL) === 1) {
+        } else if (!empty($CFG->defaulthomepage) && ($CFG->defaulthomepage == HOMEPAGE_MY) && optional_param('redirect', 1, PARAM_BOOL) === 1) {
             redirect($CFG->wwwroot .'/my/');
-        } else if (!empty($CFG->defaulthomepage) && $CFG->defaulthomepage == HOMEPAGE_USER) {
+        } else if (!empty($CFG->defaulthomepage) && ($CFG->defaulthomepage == HOMEPAGE_USER)) {
             $PAGE->settingsnav->get('usercurrentsettings')->add(get_string('makethismyhome'), new moodle_url('/', array('setdefaulthome'=>true)), navigation_node::TYPE_SETTING);
         }
     }
index d76e811..01d5d4f 100644 (file)
@@ -1030,6 +1030,8 @@ $string['missingsummary'] = 'Missing summary';
 $string['missingteacher'] = 'Must choose something';
 $string['missingurl'] = 'Missing URL';
 $string['missingusername'] = 'Missing username';
+$string['month'] = 'Month';
+$string['months'] = 'Months';
 $string['modified'] = 'Modified';
 $string['moduledeleteconfirm'] = 'You are about to completely delete the module \'{$a}\'.  This will completely delete everything in the database associated with this activity module.  Are you SURE you want to continue?';
 $string['moduledeletefiles'] = 'All data associated with the module \'{$a->module}\' has been deleted from the database.  To complete the deletion (and prevent the module re-installing itself), you should now delete this directory from your server: {$a->directory}';
index 8fdab4f..d0c2862 100644 (file)
@@ -323,14 +323,18 @@ $string['fillincorrect'] = 'Fill in correct responses';
 $string['flagged'] = 'Flagged';
 $string['flagthisquestion'] = 'Flag this question';
 $string['generalfeedback'] = 'General feedback';
-$string['generalfeedback_help'] = 'General feedback is shown to the student after they have attempted the question. Unlike feedback, which depends on the question type and what response the student gave, the same general feedback text is shown to all students.
+$string['generalfeedback_help'] = 'General feedback is shown to the student after they have completed the question. Unlike specific feedback, which depends on the question type and what response the student gave, the same general feedback text is shown to all students.
 
-You can use the general feedback to give students some background to what knowledge the question was testing, or give them a link to more information they can use if they did not understand the questions.';
+You can use the general feedback to give students a fully worked answer and perhaps a link to more information they can use if they did not understand the questions.';
 $string['hidden'] = 'Hidden';
 $string['hintn'] = 'Hint {no}';
 $string['hinttext'] = 'Hint text';
 $string['howquestionsbehave'] = 'How questions behave';
-$string['howquestionsbehave_help'] = 'Students can interact with the questions in the quiz in various different ways. For example, you may wish the students to enter an answer to each question and then submit the entire quiz, before anything is graded or they get any feedback. That would be \'Deferred feedback\' mode. Alternatively, you may wish for students to submit each question as they go along to get immediate feedback, and if they do not get it right immediately, have another try for fewer marks. That would be \'Interactive with multiple tries\' mode.';
+$string['howquestionsbehave_help'] = 'Students can interact with the questions in the quiz in various different ways. For example, you may wish the students to enter an answer to each question and then submit the entire quiz, before anything is graded or they get any feedback. That would be \'Deferred feedback\' mode.
+
+Alternatively, you may wish for students to submit each question as they go along to get immediate feedback, and if they do not get it right immediately, have another try for fewer marks. That would be \'Interactive with multiple tries\' mode.
+
+Those are probably the two most commonly used modes of behaviour. ';
 $string['importfromcoursefiles'] = '... or choose a course file to import.';
 $string['importfromupload'] = 'Select a file to upload ...';
 $string['includesubcategories'] = 'Also show questions from sub-categories';
@@ -377,6 +381,7 @@ $string['responsehistory'] = 'Response history';
 $string['restart'] = 'Start again';
 $string['restartwiththeseoptions'] = 'Start again with these options';
 $string['rightanswer'] = 'Right answer';
+$string['rightanswer_help'] = 'an automatically generated summary of the correct response. This can be limited, so you may wish to consider explaining the correct solution in the general feedback for the question, and turning this option off.';
 $string['saved'] = 'Saved: {$a}';
 $string['saveflags'] = 'Save the state of the flags';
 $string['settingsformultipletries'] = 'Settings for multiple tries';
@@ -388,6 +393,7 @@ $string['shown'] = 'Shown';
 $string['shownumpartscorrect'] = 'Show the number of correct responses';
 $string['shownumpartscorrectwhenfinished'] = 'Show the number of correct responses once the question has finished';
 $string['specificfeedback'] = 'Specific feedback';
+$string['specificfeedback_help'] = 'Feedback that depends on what response the student gave.';
 $string['started'] = 'Started';
 $string['state'] = 'State';
 $string['step'] = 'Step';
@@ -401,6 +407,7 @@ $string['unknownquestion'] = 'Unknown question: {$a}.';
 $string['unknownquestioncatregory'] = 'Unknown question category: {$a}.';
 $string['unknownquestiontype'] = 'Unknown question type: {$a}.';
 $string['whethercorrect'] = 'Whether correct';
+$string['whethercorrect_help'] = 'This covers both the textual description \'Correct\', \'Partially correct\' or \'Incorrect\', and any coloured highlighting that conveys the same information.';
 $string['withselected'] = 'With selected';
 $string['xoutofmax'] = '{$a->mark} out of {$a->max}';
 $string['yougotnright'] = 'You have correctly selected {$a->num}.';
index 48c9099..d0fadc2 100644 (file)
@@ -1787,7 +1787,7 @@ class admin_setting_configtext extends admin_setting {
 
         return format_admin_setting($this, $this->visiblename,
         '<div class="form-text defaultsnext"><input type="text" size="'.$this->size.'" id="'.$this->get_id().'" name="'.$this->get_full_name().'" value="'.s($data).'" /></div>',
-        $this->description, true, '', $default, $query);
+               $this->description, true, '', $default, $query);
     }
 }
 
@@ -1992,7 +1992,7 @@ class admin_setting_configfile extends admin_setting_configtext {
 
         return format_admin_setting($this, $this->visiblename,
         '<div class="form-file defaultsnext"><input type="text" size="'.$this->size.'" id="'.$this->get_id().'" name="'.$this->get_full_name().'" value="'.s($data).'" />'.$executable.'</div>',
-        $this->description, true, '', $default, $query);
+               $this->description, true, '', $default, $query);
     }
 }
 
@@ -2026,7 +2026,7 @@ class admin_setting_configexecutable extends admin_setting_configfile {
 
         return format_admin_setting($this, $this->visiblename,
         '<div class="form-file defaultsnext"><input type="text" size="'.$this->size.'" id="'.$this->get_id().'" name="'.$this->get_full_name().'" value="'.s($data).'" />'.$executable.'</div>',
-        $this->description, true, '', $default, $query);
+               $this->description, true, '', $default, $query);
     }
 }
 
@@ -2060,7 +2060,7 @@ class admin_setting_configdirectory extends admin_setting_configfile {
 
         return format_admin_setting($this, $this->visiblename,
         '<div class="form-file defaultsnext"><input type="text" size="'.$this->size.'" id="'.$this->get_id().'" name="'.$this->get_full_name().'" value="'.s($data).'" />'.$executable.'</div>',
-        $this->description, true, '', $default, $query);
+               $this->description, true, '', $default, $query);
     }
 }
 
@@ -2748,11 +2748,14 @@ class admin_setting_configtime extends admin_setting {
         }
 
         $return = '<div class="form-time defaultsnext">'.
+            '<label class="accesshide" for="' . $this->get_id() . '">' . get_string('hour') . '</label>' .
             '<select id="'.$this->get_id().'h" name="'.$this->get_full_name().'[h]">';
         for ($i = 0; $i < 24; $i++) {
             $return .= '<option value="'.$i.'"'.($i == $data['h'] ? ' selected="selected"' : '').'>'.$i.'</option>';
         }
-        $return .= '</select>:<select id="'.$this->get_id().'m" name="'.$this->get_full_name().'[m]">';
+        $return .= '</select>:';
+        $return .= '<label class="accesshide" for="' . $this->get_id() . '">' . get_string('minutes') . '</label>';
+        $return .= '<select id="'.$this->get_id().'m" name="'.$this->get_full_name().'[m]">';
         for ($i = 0; $i < 60; $i += 5) {
             $return .= '<option value="'.$i.'"'.($i == $data['m'] ? ' selected="selected"' : '').'>'.$i.'</option>';
         }
@@ -3165,6 +3168,7 @@ class admin_setting_courselist_frontpage extends admin_setting {
             if (!array_key_exists($i, $currentsetting)) {
                 $currentsetting[$i] = 'none'; //none
             }
+            $return .= '<label class="accesshide" for="' . $this->get_id().$i . '">' . get_string($this->name, 'admin') . '</label>';
             $return .='<select class="form-select" id="'.$this->get_id().$i.'" name="'.$this->get_full_name().'[]">';
             foreach ($this->choices as $key => $value) {
                 $return .= '<option value="'.$key.'"'.("$key" == $currentsetting[$i] ? ' selected="selected"' : '').'>'.$value.'</option>';
@@ -3436,8 +3440,10 @@ class admin_setting_emoticons extends admin_setting {
             }
 
             $out .= html_writer::tag('td',
+                html_writer::label($value, $this->get_full_name() . $field, false, array('class' => 'accesshide')) .
                 html_writer::empty_tag('input',
                     array(
+                        'id'    => $this->get_full_name() . $field,
                         'type'  => 'text',
                         'class' => 'form-text',
                         'name'  => $this->get_full_name().'['.$field.']',
@@ -6518,7 +6524,7 @@ class admin_setting_managerepository extends admin_setting {
                 }
 
                 $select = new single_select($this->repository_action_url($typename, 'repos'), 'action', $actionchoicesforexisting, $currentaction, null, 'applyto' . basename($typename));
-
+                $select->set_label(get_accesshide(get_string('select') . ' '. get_string('action')));
                 // Display up/down link
                 $updown = '';
                 $spacer = $OUTPUT->spacer(array('height'=>15, 'width'=>15)); // should be done with CSS instead
@@ -6555,6 +6561,7 @@ class admin_setting_managerepository extends admin_setting {
                 // Check that it has not already been listed
                 if (!in_array($plugin, $alreadyplugins)) {
                     $select = new single_select($this->repository_action_url($plugin, 'repos'), 'action', $actionchoicesfornew, 'delete', null, 'applyto' . basename($plugin));
+                    $select->set_label(get_accesshide(get_string('select') . ' '. get_string('action')));
                     $table->data[] = array(get_string('pluginname', 'repository_'.$plugin), $OUTPUT->render($select), '', '');
                 }
             }
@@ -7666,6 +7673,7 @@ class admin_setting_configcolourpicker extends admin_setting {
         $PAGE->requires->js_init_call('M.util.init_colour_picker', array($this->get_id(), $this->previewconfig));
         $content  = html_writer::start_tag('div', array('class'=>'form-colourpicker defaultsnext'));
         $content .= html_writer::tag('div', $OUTPUT->pix_icon('i/loading', get_string('loading', 'admin'), 'moodle', array('class'=>'loadingicon')), array('class'=>'admin_colourpicker clearfix'));
+        $content .= html_writer::label($this->get_full_name(), $this->get_id(), false, array('class' => 'accesshide'));
         $content .= html_writer::empty_tag('input', array('type'=>'text','id'=>$this->get_id(), 'name'=>$this->get_full_name(), 'value'=>$this->get_setting(), 'size'=>'12'));
         if (!empty($this->previewconfig)) {
             $content .= html_writer::empty_tag('input', array('type'=>'button','id'=>$this->get_id().'_preview', 'value'=>get_string('preview'), 'class'=>'admin_colourpicker_preview'));
@@ -7765,8 +7773,10 @@ class admin_setting_devicedetectregex extends admin_setting {
             }
 
             $out .= html_writer::tag('td',
+                html_writer::label($this->get_full_name(), $this->get_full_name() . 'expression' . $i, false, array('class' => 'accesshide')) .
                 html_writer::empty_tag('input',
                     array(
+                        'id'    => $this->get_full_name() . 'expression' . $i,
                         'type'  => 'text',
                         'class' => 'form-text',
                         'name'  => $this->get_full_name().'[expression'.$i.']',
@@ -7784,8 +7794,10 @@ class admin_setting_devicedetectregex extends admin_setting {
             }
 
             $out .= html_writer::tag('td',
+                    html_writer::label($this->get_full_name(), $this->get_full_name() . 'value' . $i, false, array('class' => 'accesshide')) .
                 html_writer::empty_tag('input',
                     array(
+                        'id'    => $this->get_full_name() . 'value' . $i,
                         'type'  => 'text',
                         'class' => 'form-text',
                         'name'  => $this->get_full_name().'[value'.$i.']',
index 74fc4ef..e0e6c91 100644 (file)
@@ -650,7 +650,8 @@ function notify_login_failures() {
 
     // Now, select all the login error logged records belonging to the ips and infos
     // since lastnotifyfailure, that we have stored in the cache_flags table
-    $sql = "SELECT l.*, u.firstname, u.lastname
+    $sql = "SELECT * FROM (
+        SELECT l.*, u.firstname, u.lastname
               FROM {log} l
               JOIN {cache_flags} cf ON l.ip = cf.name
          LEFT JOIN {user} u         ON l.userid = u.id
@@ -664,8 +665,8 @@ function notify_login_failures() {
          LEFT JOIN {user} u         ON l.userid = u.id
              WHERE l.module = 'login' AND l.action = 'error'
                    AND l.time > ?
-                   AND cf.flagtype = 'login_failure_by_info'
-          ORDER BY time DESC";
+                   AND cf.flagtype = 'login_failure_by_info') t
+        ORDER BY t.time DESC";
     $params = array($CFG->lastnotifyfailure, $CFG->lastnotifyfailure);
 
     // Init some variables
index 714efb8..bc71f5d 100644 (file)
@@ -2525,12 +2525,12 @@ function print_textfield($name, $value, $alt = '', $size=50, $maxlength=0, $retu
     }
 
     $style = "width: {$size}px;";
-    $attributes = array('type'=>'text', 'name'=>$name, 'alt'=>$alt, 'style'=>$style, 'value'=>$value);
+    $attributes = array('type' => 'text', 'id' => $name, 'name' => $name, 'alt' => $alt, 'style' => $style, 'value' => $value);
     if ($maxlength) {
         $attributes['maxlength'] = $maxlength;
     }
-
-    $output = html_writer::empty_tag('input', $attributes);
+    $output =  html_writer::label($name, $name, false, array('class' => 'accesshide'));
+    $output .= html_writer::empty_tag('input', $attributes);
 
     if (empty($return)) {
         echo $output;
index befe5d2..c90139d 100644 (file)
@@ -204,11 +204,8 @@ function enrol_check_plugins($user) {
         return;
     }
 
-    if (is_siteadmin()) {
-        // no sync for admin user, please use admin accounts only for admin tasks like the unix root user!
-        // if plugin fails on sync admins need to be able to log in and fix the settings
-        return;
-    }
+    // originally there was a broken admin test, but accidentally it was non-functional in 2.2,
+    // which proved it was actually not necessary.
 
     static $inprogress = array();  // To prevent this function being called more than once in an invocation
 
@@ -264,8 +261,8 @@ function enrol_sharing_course($user1, $user2) {
 function enrol_get_shared_courses($user1, $user2, $preloadcontexts = false, $checkexistsonly = false) {
     global $DB, $CFG;
 
-    $user1 = !empty($user1->id) ? $user1->id : $user1;
-    $user2 = !empty($user2->id) ? $user2->id : $user2;
+    $user1 = isset($user1->id) ? $user1->id : $user1;
+    $user2 = isset($user2->id) ? $user2->id : $user2;
 
     if (empty($user1) or empty($user2)) {
         return false;
index a993ffd..991da8e 100644 (file)
@@ -354,15 +354,16 @@ class MoodleQuickForm_editor extends HTML_QuickForm_element {
             $editorrules = ' onblur="'.htmlspecialchars($this->getAttribute('onblur')).'" onchange="'.htmlspecialchars($this->getAttribute('onchange')).'"';
         }
         $str .= '<div><textarea id="'.$id.'" name="'.$elname.'[text]" rows="'.$rows.'" cols="'.$cols.'"'.$editorrules.'>';
-        $str .= s($text);
+        $str .= s($text);if (count($formats)>1) {
         $str .= '</textarea></div>';
 
         $str .= '<div>';
         if (count($formats)>1) {
-            $str.= html_writer::select($formats, $elname.'[format]', $format, false);
+            $str .= html_writer::label(get_string('format'), 'menu'. $elname. '[format]', false, array('class' => 'accesshide'));
+            $str .= html_writer::select($formats, $elname.'[format]', $format, false);
         } else {
             $keys = array_keys($formats);
-            $str.= html_writer::empty_tag('input',
+            $str .= html_writer::empty_tag('input',
                     array('name'=>$elname.'[format]', 'type'=> 'hidden', 'value' => array_pop($keys)));
         }
         $str .= '</div>';
index 60def99..43c3e57 100644 (file)
@@ -8734,47 +8734,6 @@ function moodle_major_version($fromdisk = false) {
     }
 }
 
-/**
- * Sets maximum expected time needed for upgrade task.
- * Please always make sure that upgrade will not run longer!
- *
- * The script may be automatically aborted if upgrade times out.
- *
- * @category upgrade
- * @param int $max_execution_time in seconds (can not be less than 60 s)
- * @todo MDL-32293 - Move this function to lib/upgradelib.php
- */
-function upgrade_set_timeout($max_execution_time=300) {
-    global $CFG;
-
-    if (!isset($CFG->upgraderunning) or $CFG->upgraderunning < time()) {
-        $upgraderunning = get_config(null, 'upgraderunning');
-    } else {
-        $upgraderunning = $CFG->upgraderunning;
-    }
-
-    if (!$upgraderunning) {
-        // upgrade not running or aborted
-        print_error('upgradetimedout', 'admin', "$CFG->wwwroot/$CFG->admin/");
-        die;
-    }
-
-    if ($max_execution_time < 60) {
-        // protection against 0 here
-        $max_execution_time = 60;
-    }
-
-    $expected_end = time() + $max_execution_time;
-
-    if ($expected_end < $upgraderunning + 10 and $expected_end > $upgraderunning - 10) {
-        // no need to store new end, it is nearly the same ;-)
-        return;
-    }
-
-    set_time_limit($max_execution_time);
-    set_config('upgraderunning', $expected_end); // keep upgrade locked until this time
-}
-
 /// MISCELLANEOUS ////////////////////////////////////////////////////////////////////
 
 /**
index 204eb9b..a2974c9 100644 (file)
@@ -1038,7 +1038,7 @@ class global_navigation extends navigation_node {
         } else {
             // The home element should be the site because the root node is my moodle
             $this->rootnodes['home'] = $this->add(get_string('sitehome'), new moodle_url('/'), self::TYPE_SETTING, null, 'home');
-            if ($CFG->defaulthomepage == HOMEPAGE_MY) {
+            if (!empty($CFG->defaulthomepage) && ($CFG->defaulthomepage == HOMEPAGE_MY)) {
                 // We need to stop automatic redirection
                 $this->rootnodes['home']->action->param('redirect', '0');
             }
index a862c42..280e19f 100644 (file)
@@ -941,6 +941,9 @@ class theme_config {
                     return $imagefile;
                 }
             }
+            if ($imagefile = $this->image_exists("$CFG->dataroot/pix/$image")) {
+                return $imagefile;
+            }
             if ($imagefile = $this->image_exists("$CFG->dirroot/pix/$image")) {
                 return $imagefile;
             }
@@ -974,6 +977,9 @@ class theme_config {
                     return $imagefile;
                 }
             }
+            if ($imagefile = $this->image_exists("$CFG->dataroot/pix_plugins/$type/$plugin/$image")) {
+                return $imagefile;
+            }
             $dir = get_plugin_directory($type, $plugin);
             if ($imagefile = $this->image_exists("$dir/pix/$image")) {
                 return $imagefile;
index 6e311be..22233f1 100644 (file)
@@ -1334,6 +1334,12 @@ class core_renderer extends renderer_base {
 
         if ($select->label) {
             $output .= html_writer::label($select->label, $select->attributes['id']);
+        } else {
+            if (isset($select->nothing)) {
+                $label = $select->nothing;
+                $label = array_pop($label);
+                $output .= html_writer::label($label, $select->attributes['id'], false, array('class' => 'accesshide'));
+            }
         }
 
         if ($select->helpicon instanceof help_icon) {
@@ -1341,7 +1347,6 @@ class core_renderer extends renderer_base {
         } else if ($select->helpicon instanceof old_help_icon) {
             $output .= $this->render($select->helpicon);
         }
-
         $output .= html_writer::select($select->options, $select->name, $select->selected, $select->nothing, $select->attributes);
 
         $go = html_writer::empty_tag('input', array('type'=>'submit', 'value'=>get_string('go')));
@@ -1412,6 +1417,12 @@ class core_renderer extends renderer_base {
 
         if ($select->label) {
             $output .= html_writer::label($select->label, $select->attributes['id']);
+        } else {
+            if (isset($select->nothing)) {
+                $label = $select->nothing;
+                $label = array_pop($label);
+                $output .= html_writer::label($label, $select->attributes['id'], false, array('class' => 'accesshide'));
+            }
         }
 
         if ($select->helpicon instanceof help_icon) {
@@ -1628,6 +1639,7 @@ class core_renderer extends renderer_base {
 
             $scalearray = array(RATING_UNSET_RATING => $strrate.'...') + $rating->settings->scale->scaleitems;
             $scaleattrs = array('class'=>'postratingmenu ratinginput','id'=>'menurating'.$rating->itemid);
+            $ratinghtml .= html_writer::label($rating->rating, 'menurating'.$rating->itemid, false, array('class' => 'accesshide'));
             $ratinghtml .= html_writer::select($scalearray, 'rating', $rating->rating, false, $scaleattrs);
 
             //output submit button
index dc7473a..8bf2e06 100644 (file)
@@ -462,7 +462,8 @@ function portfolio_instance_select($instances, $callerformats, $callbackclass, $
     $pinsane = portfolio_plugin_sanity_check();
 
     $count = 0;
-    $selectoutput = "\n" . '<select name="' . $selectname . '">' . "\n";
+    $selectoutput = "\n" . '<label class="accesshide" for="' . $selectname . '">' . get_string('plugin', 'portfolio') . '</label>';
+    $selectoutput .= "\n" . '<select id="' . $selectname . '" name="' . $selectname . '">' . "\n";
     $existingexports = portfolio_existing_exports_by_plugin($USER->id);
     foreach ($instances as $instance) {
         $formats = portfolio_supported_formats_intersect($callerformats, $instance->supported_formats());
index 0cab318..9dec03a 100644 (file)
@@ -992,7 +992,7 @@ function question_category_select_menu($contexts, $top = false, $currentcat = 0,
     foreach ($categoriesarray as $group => $opts) {
         $options[] = array($group => $opts);
     }
-
+    echo html_writer::label($selected, 'menucategory', false, array('class' => 'accesshide'));
     echo html_writer::select($options, 'category', $selected, $choose);
 }
 
index 9c22c9c..095b0b7 100644 (file)
@@ -929,6 +929,7 @@ class flexible_table {
             $html = '<form action="'. $this->baseurl .'" method="post">';
             $html .= '<div class="mdl-align">';
             $html .= '<input type="submit" value="'.get_string('downloadas', 'table').'"/>';
+            $html .= html_writer::label($this->defaultdownloadformat, 'menudownload', false, array('class' => 'accesshide'));
             $html .= html_writer::select($downloadoptions, 'download', $this->defaultdownloadformat, false);
             $html .= '</div></form>';
 
index 6db4216..3d47233 100644 (file)
@@ -97,6 +97,46 @@ class plugin_defective_exception extends moodle_exception {
     }
 }
 
+/**
+ * Sets maximum expected time needed for upgrade task.
+ * Please always make sure that upgrade will not run longer!
+ *
+ * The script may be automatically aborted if upgrade times out.
+ *
+ * @category upgrade
+ * @param int $max_execution_time in seconds (can not be less than 60 s)
+ */
+function upgrade_set_timeout($max_execution_time=300) {
+    global $CFG;
+
+    if (!isset($CFG->upgraderunning) or $CFG->upgraderunning < time()) {
+        $upgraderunning = get_config(null, 'upgraderunning');
+    } else {
+        $upgraderunning = $CFG->upgraderunning;
+    }
+
+    if (!$upgraderunning) {
+        // upgrade not running or aborted
+        print_error('upgradetimedout', 'admin', "$CFG->wwwroot/$CFG->admin/");
+        die;
+    }
+
+    if ($max_execution_time < 60) {
+        // protection against 0 here
+        $max_execution_time = 60;
+    }
+
+    $expected_end = time() + $max_execution_time;
+
+    if ($expected_end < $upgraderunning + 10 and $expected_end > $upgraderunning - 10) {
+        // no need to store new end, it is nearly the same ;-)
+        return;
+    }
+
+    set_time_limit($max_execution_time);
+    set_config('upgraderunning', $expected_end); // keep upgrade locked until this time
+}
+
 /**
  * Upgrade savepoint, marks end of each upgrade block.
  * It stores new main version, resets upgrade timeout
@@ -314,6 +354,8 @@ function upgrade_plugins($type, $startcallback, $endcallback, $verbose) {
     $plugs = get_plugin_list($type);
 
     foreach ($plugs as $plug=>$fullplug) {
+        // Reset time so that it works when installing a large number of plugins
+        set_time_limit(600);
         $component = clean_param($type.'_'.$plug, PARAM_COMPONENT); // standardised plugin name
 
         // check plugin dir is valid name
index 40a030d..456a442 100644 (file)
@@ -2241,6 +2241,7 @@ function print_grade_menu($courseid, $name, $current, $includenograde=true, $ret
     for ($i=100; $i>=1; $i--) {
         $grades[$i] = $i;
     }
+    $output .= html_writer::label(get_string('gradeitems', 'grades'), 'menu' . $name, false, array('class' => 'accesshide'));
     $output .= html_writer::select($grades, $name, $current, false);
 
     $linkobject = '<span class="helplink"><img class="iconhelp" alt="'.$strscales.'" src="'.$OUTPUT->pix_url('help') . '" /></span>';
index 7e80811..ccc3760 100644 (file)
@@ -507,9 +507,10 @@ function message_print_usergroup_selector($viewing, $courses, $coursecontexts, $
     }
 
     echo html_writer::start_tag('form', array('id' => 'usergroupform','method' => 'get','action' => ''));
-        echo html_writer::start_tag('fieldset');
-            echo html_writer::select($options, 'viewing', $viewing, false, array('id' => 'viewing','onchange' => 'this.form.submit()'));
-        echo html_writer::end_tag('fieldset');
+    echo html_writer::start_tag('fieldset');
+    echo html_writer::label(get_string('gotomessages', 'message'), 'viewing', false, array('class' => 'accesshide'));
+    echo html_writer::select($options, 'viewing', $viewing, false, array('id' => 'viewing','onchange' => 'this.form.submit()'));
+    echo html_writer::end_tag('fieldset');
     echo html_writer::end_tag('form');
 }
 
index 12fcf56..d04b9c3 100644 (file)
@@ -1462,7 +1462,8 @@ class assignment_base {
                                 } else if ($quickgrade) {
                                     $attributes = array();
                                     $attributes['tabindex'] = $tabindex++;
-                                    $menu = html_writer::select(make_grades_menu($this->assignment->grade), 'menu['.$auser->id.']', $auser->grade, array(-1=>get_string('nograde')), $attributes);
+                                    $menu = html_writer::label(get_string('assignment:grade', 'assignment'), 'menumenu'. $auser->id, false, array('class' => 'accesshide'));
+                                    $menu .= html_writer::select(make_grades_menu($this->assignment->grade), 'menu['.$auser->id.']', $auser->grade, array(-1=>get_string('nograde')), $attributes);
                                     $grade = '<div id="g'.$auser->id.'">'. $menu .'</div>';
                                 } else {
                                     $grade = '<div id="g'.$auser->id.'">'.$this->display_grade($auser->grade).'</div>';
@@ -1475,6 +1476,7 @@ class assignment_base {
                                 } else if ($quickgrade) {
                                     $attributes = array();
                                     $attributes['tabindex'] = $tabindex++;
+                                    html_writer::label(get_string('assignment:grade', 'assignment'), 'menumenu'. $auser->id, false, array('class' => 'accesshide'));
                                     $menu = html_writer::select(make_grades_menu($this->assignment->grade), 'menu['.$auser->id.']', $auser->grade, array(-1=>get_string('nograde')), $attributes);
                                     $grade = '<div id="g'.$auser->id.'">'.$menu.'</div>';
                                 } else {
@@ -1503,6 +1505,7 @@ class assignment_base {
                             } else if ($quickgrade) {   // allow editing
                                 $attributes = array();
                                 $attributes['tabindex'] = $tabindex++;
+                                html_writer::label(get_string('assignment:grade', 'assignment'), 'menumenu'. $auser->id, false, array('class' => 'accesshide'));
                                 $menu = html_writer::select(make_grades_menu($this->assignment->grade), 'menu['.$auser->id.']', $auser->grade, array(-1=>get_string('nograde')), $attributes);
                                 $grade = '<div id="g'.$auser->id.'">'.$menu.'</div>';
                                 $hassubmission = true;
@@ -1547,7 +1550,7 @@ class assignment_base {
                         if ($uses_outcomes) {
 
                             foreach($grading_info->outcomes as $n=>$outcome) {
-                                $outcomes .= '<div class="outcome"><label>'.$outcome->name.'</label>';
+                                $outcomes .= '<div class="outcome"><label for="'. 'outcome_'.$n.'_'.$auser->id .'">'.$outcome->name.'</label>';
                                 $options = make_grades_menu(-$outcome->scaleid);
 
                                 if ($outcome->grades[$auser->id]->locked or !$quickgrade) {
@@ -1557,6 +1560,7 @@ class assignment_base {
                                     $attributes = array();
                                     $attributes['tabindex'] = $tabindex++;
                                     $attributes['id'] = 'outcome_'.$n.'_'.$auser->id;
+                                    html_writer::label(get_string('assignment:grade', 'assignment'), 'outcome_'.$n.'_'.$auser->id, false, array('class' => 'accesshide'));
                                     $outcomes .= ' '.html_writer::select($options, 'outcome_'.$n.'['.$auser->id.']', $outcome->grades[$auser->id]->grade, array(0=>get_string('nooutcome', 'grades')), $attributes);
                                 }
                                 $outcomes .= '</div>';
index 99dc589..73291eb 100644 (file)
@@ -76,7 +76,7 @@ echo $OUTPUT->box('', '', 'chat-options');
 echo $OUTPUT->box('<ul id="messages-list"></ul>', '', 'chat-messages');
 $table = new html_table();
 $table->data = array(
-    array(' &raquo; <input type="text" disabled="true" id="input-message" value="Loading..." size="50" /> <input type="button" id="button-send" value="'.get_string('send', 'chat').'" /> <a id="choosetheme" href="###">'.get_string('themes').' &raquo; </a>')
+    array(' &raquo; <label class="accesshide" for="input-message">' . get_string('messages', 'chat') . ' </label><input type="text" disabled="true" id="input-message" value="Loading..." size="50" /> <input type="button" id="button-send" value="'.get_string('send', 'chat').'" /> <a id="choosetheme" href="###">'.get_string('themes').' &raquo; </a>')
 );
 echo $OUTPUT->box(html_writer::table($table), '', 'chat-input-area');
 echo $OUTPUT->box('', '', 'chat-notify');
index a228a92..73edbaa 100644 (file)
@@ -46,6 +46,7 @@ $PAGE->set_cacheable(false);
 echo $OUTPUT->header();
 
 echo html_writer::start_tag('form', array('action'=>'../empty.php', 'method'=>'post', 'target'=>'empty', 'id'=>'inputForm', 'style'=>'margin:0'));
+echo html_writer::label(get_string('messages', 'chat'), 'input_chat_message', false, array('class' => 'accesshide'));
 echo html_writer::empty_tag('input', array('type'=>'text', 'id'=>'input_chat_message', 'name'=>'chat_message', 'size'=>'50', 'value'=>''));
 echo html_writer::empty_tag('input', array('type'=>'checkbox', 'id'=>'auto', 'checked'=>'checked', 'value'=>''));
 echo html_writer::tag('label', get_string('autoscroll', 'chat'), array('for'=>'auto'));
index fe369b5..2edea8b 100644 (file)
@@ -28,6 +28,7 @@ echo $OUTPUT->header();
 
     <form action="../empty.php" method="get" target="empty" id="inputform"
           onsubmit="return empty_field_and_submit();">
+        <label class="accesshide" for="chat_message"><?php get_string('modulename', 'chat'); ?> . ' ' .<?php strtolower(get_string('messages', 'chat')); ?> </label>
         <input type="text" name="chat_message" id="chat_message" size="60" value="" />
         <?php echo $OUTPUT->help_icon('usingchat', 'chat'); ?>
     </form>
index 01ec6df..45c0499 100644 (file)
@@ -352,6 +352,7 @@ if (($mode == 'new') && (!empty($newtype)) && confirm_sesskey()) {          ///
 
     $options = array(0 => get_string('ascending', 'data'),
                      1 => get_string('descending', 'data'));
+    echo html_writer::label(get_string('sortby'), 'menudefaultsortdir', false, array('class' => 'accesshide'));
     echo html_writer::select($options, 'defaultsortdir', $data->defaultsortdir, false);
     echo '<input type="submit" value="'.get_string('save', 'data').'" />';
     echo '</div>';
index f7bd7ac..d88a92a 100644 (file)
@@ -91,7 +91,8 @@ class data_field_file extends data_field_base {
     }
 
     function display_search_field($value = '') {
-        return '<input type="text" size="16" name="f_'.$this->field->id.'" value="'.$value.'" />';
+        return '<label class="accesshide" for=f_"' . $this->field->id . '">' . $this->field->name . '</label>' .
+               '<input type="text" size="16" id="f_'.$this->field->id.'" name="f_'.$this->field->id.'" value="'.$value.'" />';
     }
 
     function generate_sql($tablealias, $value) {
index 73815b5..0358433 100644 (file)
@@ -14,6 +14,7 @@
             <?php
                 $course->maxbytes = $DB->get_field('course', 'maxbytes', array('id'=>$this->data->course));
                 $choices = get_max_upload_sizes($CFG->maxbytes, $course->maxbytes);
+                echo html_writer::label($this->field->param3, 'menuparam3', false, array('class' => 'accesshide'));
                 echo html_writer::select($choices, 'param3', $this->field->param3, false, array('id' => 'param3'));
             ?>
         </td>
index 794f3d0..a6f6889 100644 (file)
@@ -82,7 +82,9 @@ class data_field_latlong extends data_field_base {
         }
         $latlongsrs->close();
 
-       return html_writer::select($options, 'f_'.$this->field->id, $value);
+        $return = html_writer::label(get_string('latlong', 'data'), 'menuf_'.$this->field->id, false, array('class' => 'accesshide'));
+        $return .= html_writer::select($options, 'f_'.$this->field->id, $value);
+       return $return;
     }
 
     function parse_search_field() {
@@ -150,7 +152,9 @@ class data_field_latlong extends data_field_base {
                           . str_replace(array_keys($urlreplacements), array_values($urlreplacements), $this->linkoutservices[$servicesshown[0]])
                           ."' title='$servicesshown[0]'>$compasslat, $compasslong</a>";
             } elseif (sizeof($servicesshown)>1) {
-                $str .= "$compasslat, $compasslong\n<select name='jumpto'>";
+                $str .= "$compasslat, $compasslong\n";
+                $str .= "<label class='accesshide' for='jumpto'>". get_string('jumpto') ."</label>";
+                $str .= "<select id='jumpto' name='jumpto'>";
                 foreach($servicesshown as $servicename){
                     // Add a link to a service
                     $str .= "\n  <option value='"
index 6a948a1..0414f22 100644 (file)
@@ -46,7 +46,7 @@ class data_field_menu extends data_field_base {
             }
         }
 
-
+        $str .= html_writer::label(get_string('menuchoose', 'data'), 'field_'.$this->field->id, false, array('class' => 'accesshide'));
         $str .= html_writer::select($options, 'field_'.$this->field->id, $content, array(''=>get_string('menuchoose', 'data')), array('id'=>'field_'.$this->field->id));
 
         $str .= '</div>';
@@ -86,7 +86,9 @@ class data_field_menu extends data_field_base {
             return '';
         }
 
-        return html_writer::select($options, 'f_'.$this->field->id, $content);
+        $return = html_writer::label(get_string('namemenu', 'data'), 'menuf_'. $this->field->id, false, array('class' => 'accesshide'));
+        $return .= html_writer::select($options, 'f_'.$this->field->id, $content);
+        return $return;
     }
 
      function parse_search_field() {
index f3fe90b..815137c 100644 (file)
@@ -38,6 +38,7 @@ class data_field_multimenu extends data_field_base {
 
         $str = '<div title="'.s($this->field->description).'">';
         $str .= '<input name="field_' . $this->field->id . '[xxx]" type="hidden" value="xxx"/>'; // hidden field - needed for empty selection
+        $str .= '<label class="cell" for=field_"' . $this->field->id . '">' . $this->field->name. ': </label>';
         $str .= '<select name="field_' . $this->field->id . '[]" id="field_' . $this->field->id . '" multiple="multiple">';
 
         foreach (explode("\n",$this->field->param1) as $option) {
@@ -71,7 +72,8 @@ class data_field_multimenu extends data_field_base {
 
         static $c = 0;
 
-        $str = '<select name="f_'.$this->field->id.'[]" multiple="multiple">';
+        $str = '<label class="accesshide" for=f_"' . $this->field->id . '">' . $this->field->name . '</label>';
+        $str .= '<select id="f_'.$this->field->id.'" name="f_'.$this->field->id.'[]" multiple="multiple">';
 
         // display only used options
         $varcharcontent =  $DB->sql_compare_text('content', 255);
index 9c5d17f..d04be45 100644 (file)
@@ -70,7 +70,8 @@ class data_field_number extends data_field_base {
     }
 
     function display_search_field($value = '') {
-        return '<input type="text" size="16" name="f_'.$this->field->id.'" value="'.$value.'" />';
+        return '<label class="accesshide" for="f_'.$this->field->id.'">' . get_string('fieldname', 'data') . '</label>' .
+               '<input type="text" size="16" id="f_'.$this->field->id.'" name="f_'.$this->field->id.'" value="'.$value.'" />';
     }
 
     function parse_search_field() {
index e587488..eb0a69b 100644 (file)
@@ -118,7 +118,8 @@ class data_field_picture extends data_field_base {
     }
 
     function display_search_field($value = '') {
-        return '<input type="text" size="16" name="f_'.$this->field->id.'" value="'.$value.'" />';
+        return '<label class="accesshide" for="f_'.$this->field->id.'">' . get_string('fieldname', 'data') . '</label>' .
+               '<input type="text" size="16" id="f_'.$this->field->id.'" name="f_'.$this->field->id.'" value="'.$value.'" />';
     }
 
     function parse_search_field() {
index 9dd1583..f48b4cb 100644 (file)
@@ -46,6 +46,7 @@
             <?php
                 $course->maxbytes = $DB->get_field('course', 'maxbytes', array('id'=>$this->data->course));
                 $choices = get_max_upload_sizes($CFG->maxbytes, $course->maxbytes);
+                echo html_writer::label($this->field->param3, 'menuparam3', false, array('class' => 'accesshide'));
                 echo html_writer::select($choices, 'param3', $this->field->param3, false, array('id'=>'param3'));
             ?>
         </td>
index 5396b2d..f3115c1 100644 (file)
@@ -78,7 +78,9 @@ class data_field_radiobutton extends data_field_base {
                 $options[$rec->content] = $rec->content;  //Build following indicies from the sql.
             }
         }
-        return html_writer::select($options, 'f_'.$this->field->id, $value);
+        $return = html_writer::label(get_string('nameradiobutton', 'data'), 'menuf_'. $this->field->id, false, array('class' => 'accesshide'));
+        $return .= html_writer::select($options, 'f_'.$this->field->id, $value);
+        return $return;
     }
 
     function parse_search_field() {
index 36c391a..2bccff1 100644 (file)
@@ -27,7 +27,7 @@ class data_field_text extends data_field_base {
     var $type = 'text';
 
     function display_search_field($value = '') {
-        return '<input type="text" size="16" name="f_'.$this->field->id.'" value="'.$value.'" />';
+        return '<label class="accesshide" for=f_"' . $this->field->id . '">'. $this->field->name.'</label>' . '<input type="text" size="16" id="f_'.$this->field->id.'" name="f_'.$this->field->id.'" value="'.$value.'" />';
     }
 
     function parse_search_field() {
index a15dfb2..4c833f6 100644 (file)
@@ -126,7 +126,8 @@ class data_field_textarea extends data_field_base {
         $editor->use_editor($field, $options, $fpoptions);
         $str .= '<input type="hidden" name="'.$field.'_itemid" value="'.$draftitemid.'" />';
         $str .= '<div><textarea id="'.$field.'" name="'.$field.'" rows="'.$this->field->param3.'" cols="'.$this->field->param2.'">'.s($text).'</textarea></div>';
-        $str .= '<div><select name="'.$field.'_content1">';
+        $str .= '<div><label class="accesshide" for="' . $field . '_content1">' . get_string('format') . '</label>';
+        $str .= '<select id="' . $field . '_content1" name="'.$field.'_content1">';
         foreach ($formats as $key=>$desc) {
             $selected = ($format == $key) ? 'selected="selected"' : '';
             $str .= '<option value="'.s($key).'" '.$selected.'>'.$desc.'</option>';
@@ -140,7 +141,8 @@ class data_field_textarea extends data_field_base {
 
 
     function display_search_field($value = '') {
-        return '<input type="text" size="16" name="f_'.$this->field->id.'" value="'.$value.'" />';
+        return '<label class="accesshide" for=f_"' . $this->field->id . '">' . $this->field->name . '</label>' .
+               '<input type="text" size="16" id="f_'.$this->field->id.'" name="f_'.$this->field->id.'" value="'.$value.'" />';
     }
 
     function parse_search_field() {
index 1c45373..89c8c7c 100644 (file)
@@ -52,11 +52,14 @@ class data_field_url extends data_field_base {
         $str = '<div title="'.s($this->field->description).'">';
         if (!empty($this->field->param1) and empty($this->field->param2)) {
             $str .= '<table><tr><td align="right">';
-            $str .= get_string('url','data').':</td><td><input type="text" name="field_'.$this->field->id.'_0" id="'.$fieldid.'" value="'.$url.'" size="60" /></td></tr>';
+            $str .= get_string('url','data').':</td><td>';
+            $str .= '<label class="accesshide" for="' . $fieldid . '">'. $this->field->name .'</label>';
+            $str .= '<input type="text" name="field_'.$this->field->id.'_0" id="'.$fieldid.'" value="'.$url.'" size="60" /></td></tr>';
             $str .= '<tr><td align="right">'.get_string('text','data').':</td><td><input type="text" name="field_'.$this->field->id.'_1" id="field_'.$this->field->id.'_1" value="'.s($text).'" size="60" /></td></tr>';
             $str .= '</table>';
         } else {
             // Just the URL field
+            $str .= '<label class="accesshide" for="' . $fieldid . '">'. $this->field->name .'</label>';
             $str .= '<input type="text" name="field_'.$this->field->id.'_0" id="'.$fieldid.'" value="'.s($url).'" size="60" />';
         }
 
@@ -74,7 +77,8 @@ class data_field_url extends data_field_base {
     }
 
     function display_search_field($value = '') {
-        return '<input type="text" size="16" name="f_'.$this->field->id.'" value="'.$value.'" />';
+        return '<label class="accesshide" for="f_'.$this->field->id.'">' . get_string('fieldname', 'data') . '</label>' .
+               '<input type="text" size="16" id="f_'.$this->field->id.'" name="f_'.$this->field->id.'" value="'.$value.'" />';
     }
 
     function parse_search_field() {
index 9378c72..04e318a 100644 (file)
@@ -165,8 +165,8 @@ if ($courseitemfilter > 0) {
     }
 } else {
 
-    echo get_string('search_course', 'feedback') . ': ';
-    echo '<input type="text" name="searchcourse" value="'.s($searchcourse).'"/> ';
+    echo html_writer::label(get_string('search_course', 'feedback') . ': ', 'searchcourse');
+    echo '<input id="searchcourse" type="text" name="searchcourse" value="'.s($searchcourse).'"/> ';
     echo '<input type="submit" value="'.get_string('search').'"/>';
     echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />';
     echo '<input type="hidden" name="id" value="'.$id.'" />';
@@ -175,7 +175,7 @@ if ($courseitemfilter > 0) {
     echo '<input type="hidden" name="courseid" value="'.$courseid.'" />';
     echo html_writer::script('', $CFG->wwwroot.'/mod/feedback/feedback.js');
     $sql = 'select DISTINCT c.id, c.shortname from {course} c, '.
-                                          '{feedback_value} fv, {feedback_item} fi '.
+                                         '{feedback_value} fv, {feedback_item} fi '.
                                           'where c.id = fv.course_id and fv.item = fi.id '.
                                           'and fi.feedback = ? '.
                                           'and
@@ -185,8 +185,7 @@ if ($courseitemfilter > 0) {
 
     if ($courses = $DB->get_records_sql_menu($sql, $params)) {
 
-         echo ' ' . get_string('filter_by_course', 'feedback') . ': ';
-
+         echo html_writer::label(get_string('filter_by_course', 'feedback'), 'coursefilterid');
          echo html_writer::select($courses, 'coursefilter', $coursefilter,
                                   null, array('id'=>'coursefilterid'));
 
index 4c836e0..961dc1d 100644 (file)
@@ -760,7 +760,8 @@ class feedback_item_multichoice extends feedback_item_base {
 
         ?>
         <li class="feedback_item_select_<?php echo $hv.'_'.$align;?>">
-            <select name="<?php echo $item->typ .'_' . $item->id;?>[]" size="1">
+            <label class="accesshide" for="<?php echo $item->typ .'_' . $item->id;?>"><?php echo $item->name; ?></label>
+            <select  id="<?php echo $item->typ .'_' . $item->id;?>" name="<?php echo $item->typ .'_' . $item->id;?>[]" size="1">
                 <option value="0">&nbsp;</option>
                 <?php
                 $index = 1;
index 050f7eb..00b2643 100644 (file)
@@ -575,7 +575,8 @@ class feedback_item_multichoicerated extends feedback_item_base {
         echo '<ul>';
         ?>
         <li class="feedback_item_select_<?php echo $hv.'_'.$align;?>">
-            <select name="<?php echo $item->typ.'_'.$item->id;?>">
+            <label for="<?php echo $item->typ.'_'.$item->id;?>"><?php echo $item->name; ?></label>
+            <select id="<?php echo $item->typ.'_'.$item->id;?>" name="<?php echo $item->typ.'_'.$item->id;?>">
                 <option value="0">&nbsp;</option>
                 <?php
                 $index = 1;
index 3708b1a..8b32c6b 100644 (file)
@@ -104,7 +104,7 @@ $sql = "select c.id, c.shortname
 $params = array("%{$searchcourse}%", "%{$searchcourse}%");
 
 if (($courses = $DB->get_records_sql_menu($sql, $params)) && !empty($searchcourse)) {
-    echo ' ' . get_string('courses') . ': ';
+    echo html_writer::label(get_string('courses'), 'menucoursefilter', false);
     echo html_writer::select($courses, 'coursefilter', $coursefilter);
     echo '<input type="submit" value="'.get_string('mapcourse', 'feedback').'"/>';
     echo $OUTPUT->help_icon('mapcourses', 'feedback');
index 9c1d16d..910361e 100644 (file)
@@ -271,6 +271,7 @@ if (!$students) {
             print_string('formathtml');
             echo '<input type="hidden" name="format" value="'.FORMAT_HTML.'" />';
         } else {
+            echo '<label for="menuformat" class="accesshide">'. get_string('format') .'</label>';
             choose_from_menu(format_text_menu(), "format", $format, "");
         }
         echo '<br /><div class="buttons">';
index eb78a14..2fdd261 100644 (file)
@@ -3806,9 +3806,11 @@ function forum_print_mode_form($id, $mode, $forumtype='') {
     global $OUTPUT;
     if ($forumtype == 'single') {
         $select = new single_select(new moodle_url("/mod/forum/view.php", array('f'=>$id)), 'mode', forum_get_layout_modes(), $mode, null, "mode");
+        $select->set_label(get_accesshide(get_string('displaymode', 'forum')));
         $select->class = "forummode";
     } else {
         $select = new single_select(new moodle_url("/mod/forum/discuss.php", array('d'=>$id)), 'mode', forum_get_layout_modes(), $mode, null, "mode");
+        $select->set_label(get_accesshide(get_string('displaymode', 'forum')));
     }
     echo $OUTPUT->render($select);
 }
index 9913fac..fa6e61f 100644 (file)
@@ -343,10 +343,15 @@ function forum_print_big_search_form($course) {
     }
 
     echo '<input name="timefromrestrict" type="checkbox" value="1" alt="'.get_string('searchdatefrom', 'forum').'" onclick="return lockoptions(\'searchform\', \'timefromrestrict\', timefromitems)" '.  $datefromchecked . ' /> ';
-    $selectors = html_writer::select_time('days', 'fromday', $datefrom)
+    $selectors = html_writer::label(get_string('days'), 'menufromday', false, array('class' => 'accesshide'))
+               . html_writer::select_time('days', 'fromday', $datefrom)
+               . html_writer::label(get_string('month'), 'menufrommonth', false, array('class' => 'accesshide'))
                . html_writer::select_time('months', 'frommonth', $datefrom)
+               . html_writer::label(get_string('year'), 'menufromyear', false, array('class' => 'accesshide'))
                . html_writer::select_time('years', 'fromyear', $datefrom)
+               . html_writer::label(get_string('hour'), 'menufromhour', false, array('class' => 'accesshide'))
                . html_writer::select_time('hours', 'fromhour', $datefrom)
+               . html_writer::label(get_string('minutes'), 'menufromminute', false, array('class' => 'accesshide'))
                . html_writer::select_time('minutes', 'fromminute', $datefrom);
     echo $selectors;
     echo '<input type="hidden" name="hfromday" value="0" />';
@@ -369,10 +374,15 @@ function forum_print_big_search_form($course) {
     }
 
     echo '<input name="timetorestrict" type="checkbox" value="1" alt="'.get_string('searchdateto', 'forum').'" onclick="return lockoptions(\'searchform\', \'timetorestrict\', timetoitems)" ' .$datetochecked. ' /> ';
-    $selectors = html_writer::select_time('days', 'fromday', $dateto)
+    $selectors = html_writer::label(get_string('days'), 'menufromday', false, array('class' => 'accesshide'))
+               . html_writer::select_time('days', 'fromday', $dateto)
+               . html_writer::label(get_string('month'), 'menufrommonth', false, array('class' => 'accesshide'))
                . html_writer::select_time('months', 'frommonth', $dateto)
+               . html_writer::label(get_string('year'), 'menufromyear', false, array('class' => 'accesshide'))
                . html_writer::select_time('years', 'fromyear', $dateto)
+               . html_writer::label(get_string('hour'), 'menufromhour', false, array('class' => 'accesshide'))
                . html_writer::select_time('hours', 'fromhour', $dateto)
+               . html_writer::label(get_string('minutes'), 'menufromminute', false, array('class' => 'accesshide'))
                . html_writer::select_time('minutes', 'fromminute', $dateto);
     echo $selectors;
 
index b6c252e..3b64818 100644 (file)
@@ -7,15 +7,15 @@
 <div>
 <table  class="generalbox" cellpadding="5">
 <tr valign="top">
-    <td align="right"><?php echo get_string("name") ?>:</td>
+    <td align="right"><label for="name"><?php echo get_string("name") ?>:</label></td>
     <td>
-        <input type="text" name="name" size="30" value="<?php p($name) ?>" />
+        <input type="text" name="name" id="name" size="30" value="<?php p($name) ?>" />
     </td>
 </tr>
 <tr valign="top">
-    <td align="right"><?php echo get_string("linkcategory","glossary") ?>:</td>
+    <td align="right"><label for="usedynalink"><?php echo get_string("linkcategory","glossary") ?>:</label></td>
     <td>
-      <select size="1" name="usedynalink">
+      <select size="1" id="usedynalink" name="usedynalink">
       <option value="1" <?php
        if ( $usedynalink ) {
           echo "selected=\"selected\"";
index 5d65009..9210f5b 100644 (file)
@@ -69,7 +69,7 @@ echo '<table width="90%" align="center" class="generalbox">';
     </strong></td>
 </tr>
 <tr valign="top">
-    <td align="right" width="20%"><?php print_string('popupformat','glossary'); ?></td>
+    <td align="right" width="20%"><?php echo html_writer::label(get_string('popupformat','glossary'), 'menupopupformatname'); ?></td>
     <td>
  <?php
     //get and update available formats
@@ -92,9 +92,9 @@ echo '<table width="90%" align="center" class="generalbox">';
     </td>
 </tr>
 <tr valign="top">
-    <td align="right" width="20%"><?php print_string('defaultmode','glossary'); ?></td>
+    <td align="right" width="20%"><label for="defaultmode"><?php print_string('defaultmode','glossary'); ?></label></td>
     <td>
-    <select size="1" name="defaultmode">
+    <select size="1" id="defaultmode" name="defaultmode">
 <?php
     $sletter = '';
     $scat = '';
@@ -129,9 +129,9 @@ echo '<table width="90%" align="center" class="generalbox">';
     </td>
 </tr>
 <tr valign="top">
-    <td align="right" width="20%"><?php print_string('defaulthook','glossary'); ?></td>
+    <td align="right" width="20%"><label for="defaulthook"><?php print_string('defaulthook','glossary'); ?></label></td>
     <td>
-    <select size="1" name="defaulthook">
+    <select size="1" id="defaulthook" name="defaulthook">
 <?php
     $sall = '';
     $sspecial = '';
@@ -166,9 +166,9 @@ echo '<table width="90%" align="center" class="generalbox">';
     </td>
 </tr>
 <tr valign="top">
-    <td align="right" width="20%"><?php print_string('defaultsortkey','glossary'); ?></td>
+    <td align="right" width="20%"><label for="sortkey"><?php print_string('defaultsortkey','glossary'); ?></label></td>
     <td>
-    <select size="1" name="sortkey">
+    <select size="1" id="sortkey" name="sortkey">
 <?php
     $sfname = '';
     $slname = '';
@@ -203,9 +203,9 @@ echo '<table width="90%" align="center" class="generalbox">';
     </td>
 </tr>
 <tr valign="top">
-    <td align="right" width="20%"><?php print_string('defaultsortorder','glossary'); ?></td>
+    <td align="right" width="20%"><label for="sortorder"><?php print_string('defaultsortorder','glossary'); ?></label></td>
     <td>
-    <select size="1" name="sortorder">
+    <select size="1" id="sortorder" name="sortorder">
 <?php
     $sasc = '';
     $sdesc = '';
@@ -228,9 +228,9 @@ echo '<table width="90%" align="center" class="generalbox">';
     </td>
 </tr>
 <tr valign="top">
-    <td align="right" width="20%"><?php print_string("includegroupbreaks", "glossary"); ?>:</td>
+    <td align="right" width="20%"><label for="showgroup"><?php print_string("includegroupbreaks", "glossary"); ?>:</label></td>
     <td>
-    <select size="1" name="showgroup">
+    <select size="1" id="showgroup" name="showgroup">
 <?php
     $yselected = "";
     $nselected = "";
index a2da16d..cc3c694 100644 (file)
@@ -1054,7 +1054,7 @@ function  glossary_print_entry_aliases($course, $cm, $glossary, $entry,$mode='',
         foreach ($aliases as $alias) {
             if (trim($alias->alias)) {
                 if ($return == '') {
-                    $return = '<select style="font-size:8pt">';
+                    $return = '<select id="keyword" style="font-size:8pt">';
                 }
                 $return .= "<option>$alias->alias</option>";
             }
@@ -1210,7 +1210,8 @@ function  glossary_print_entry_lower_section($course, $cm, $glossary, $entry, $m
         echo '<table>';
         if ( $aliases ) {
             echo '<tr valign="top"><td class="aliases">' .
-                  get_string('aliases','glossary').': '.$aliases . '</td></tr>';
+                 '<label for="keyword">' . get_string('aliases','glossary').': </label>' .
+                 $aliases . '</td></tr>';
         }
         if ($icons) {
             echo '<tr valign="top"><td class="icons">'.$icons.'</td></tr>';
@@ -1772,6 +1773,7 @@ function glossary_print_categories_menu($cm, $glossary, $hook, $category) {
      echo '<td align="center" style="width:20%">';
 
      $select = new single_select(new moodle_url("/mod/glossary/view.php", array('id'=>$cm->id, 'mode'=>'cat')), 'hook', $menu, $selected, null, "catmenu");
+     $select->set_label(get_accesshide(get_string('categories', 'glossary')));
      echo $OUTPUT->render($select);
 
      echo '</td>';
index 0572978..be4be19 100644 (file)
@@ -400,16 +400,19 @@ class lesson_page_type_matching extends lesson_page {
                     $answerdata->score = get_string("didnotreceivecredit", "lesson");
                 }
             } elseif ($n > 1) {
-                $data = "<select disabled=\"disabled\"><option selected=\"selected\">".strip_tags(format_string($answer->answer))."</option></select>";
+                $data = '<label class="accesshide" for="answer_' . $n . '">' . get_string('answer', 'lesson') . '</label>';
+                $data .= "<select id=\"answer_". $n ."\" disabled=\"disabled\"><option selected=\"selected\">".strip_tags(format_string($answer->answer))."</option></select>";
                 if ($useranswer != NULL) {
                     $userresponse = explode(",", $useranswer->useranswer);
-                    $data .= "<select disabled=\"disabled\"><option selected=\"selected\">";
+                    $data .= '<label class="accesshide" for="stu_answer_response_' . $n . '">' . get_string('matchesanswer', 'lesson') . '</label>';
+                    $data .= "<select id=\"stu_answer_response_" . $n . "\" disabled=\"disabled\"><option selected=\"selected\">";
                     if (array_key_exists($i, $userresponse)) {
                         $data .= strip_tags(format_string($answers[$userresponse[$i]]->response));
                     }
                     $data .= "</option></select>";
                 } else {
-                    $data .= "<select disabled=\"disabled\"><option selected=\"selected\">".strip_tags(format_string($answer->response))."</option></select>";
+                    $data .= '<label class="accesshide" for="answer_response_' . $n . '">' . get_string('matchesanswer', 'lesson') . '</label>';
+                    $data .= "<select id=\"answer_response_" . $n . "\" disabled=\"disabled\"><option selected=\"selected\">".strip_tags(format_string($answer->response))."</option></select>";
                 }
 
                 if ($n == 2) {
index f2d1e05..37d6cba 100644 (file)
@@ -314,6 +314,7 @@ if ($action === 'delete') {
     if (has_capability('mod/lesson:edit', $context)) {
         $checklinks  = '<a href="javascript: checkall();">'.get_string('selectall').'</a> / ';
         $checklinks .= '<a href="javascript: checknone();">'.get_string('deselectall').'</a>';
+        $checklinks .= html_writer::label('action', 'menuaction', false, array('class' => 'accesshide'));
         $checklinks .= html_writer::select(array('delete' => get_string('deleteselected')), 'action', 0, array(''=>'choosedots'), array('id'=>'actionid'));
         $PAGE->requires->js_init_call('M.util.init_select_autosubmit', array('theform', 'actionid', ''));
         echo $OUTPUT->box($checklinks, 'center');
index 947b91f..c5153aa 100644 (file)
@@ -81,7 +81,7 @@ class quizaccess_delaybetweenattempts extends quiz_access_rule_base {
         $lastattemptfinish = $lastattempt->timefinish;
         if ($this->quiz->timelimit > 0) {
             $lastattemptfinish = min($lastattemptfinish,
-            $lastattempt->timestart + $this->quiz->timelimit);
+                    $lastattempt->timestart + $this->quiz->timelimit);
         }
 
         if ($numprevattempts == 1 && $this->quiz->delay1) {
index be12593..3ad6473 100644 (file)
@@ -373,7 +373,7 @@ function quiz_print_question_list($quiz, $pageurl, $allowdelete, $reordertool,
     global $CFG, $DB, $OUTPUT;
     $strorder = get_string('order');
     $strquestionname = get_string('questionname', 'quiz');
-    $strgrade = get_string('grade');
+    $strmaxmark = get_string('markedoutof', 'question');
     $strremove = get_string('remove', 'quiz');
     $stredit = get_string('edit');
     $strview = get_string('view');
@@ -427,9 +427,11 @@ function quiz_print_question_list($quiz, $pageurl, $allowdelete, $reordertool,
         get_string('areyousureremoveselected', 'quiz') . '\');" value="' .
         get_string('removeselected', 'quiz') . '"  ' . $disabled . ' /></div>';
 
-    $a = '<input name="moveselectedonpagetop" type="text" size="2" ' .
+    $a = '<label class="accesshide" for="moveselectedonpagetop">' . get_string('moveup') . '</label>';
+    $a .= '<input name="moveselectedonpagetop" id="moveselectedonpagetop" type="text" size="2" ' .
         $pagingdisabled . ' />';
-    $b = '<input name="moveselectedonpagebottom" type="text" size="2" ' .
+    $b = '<label class="accesshide" for="moveselectedonpagebottom">' . get_string('movedown') . '</label>';
+    $b .='<input name="moveselectedonpagebottom" id="moveselectedonpagebottom" type="text" size="2" ' .
         $pagingdisabled . ' />';
 
     $reordercontrols2top = '<div class="moveselectedonpage">' .
@@ -621,11 +623,12 @@ function quiz_print_question_list($quiz, $pageurl, $allowdelete, $reordertool,
 <div class="points">
 <form method="post" action="edit.php" class="quizsavegradesform"><div>
     <fieldset class="invisiblefieldset" style="display: block;">
-    <label for="<?php echo "inputq$question->id" ?>"><?php echo $strgrade; ?></label>:<br />
+    <label for="<?php echo "inputq$question->id" ?>"><?php echo $strmaxmark; ?></label>:<br />
     <input type="hidden" name="sesskey" value="<?php echo sesskey() ?>" />
     <?php echo html_writer::input_hidden_params($pageurl); ?>
     <input type="hidden" name="savechanges" value="save" />
                     <?php
+                    echo '<label class="accesshide" for="inputq' . $question->id .'">' . get_string('question', 'quiz') . '</label>';
                     echo '<input type="text" name="g' . $question->id .
                             '" id="inputq' . $question->id .
                             '" size="' . ($quiz->decimalpoints + 2) .
@@ -652,7 +655,9 @@ function quiz_print_question_list($quiz, $pageurl, $allowdelete, $reordertool,
                         ?>
 <div class="qorder">
                         <?php
+                        echo '<label class="accesshide" for="o' . $question->id . '">' . get_string('reorderquestions', 'quiz') . '</label>';
                         echo '<input type="text" name="o' . $question->id .
+                                '" id="o' . $question->id . '"' .
                                 '" size="2" value="' . (10*$count + 10) .
                                 '" tabindex="' . ($lastindex + $qno) . '" />';
                         ?>
@@ -1277,7 +1282,7 @@ function quiz_print_status_bar($quiz) {
     $bits = array();
 
     $bits[] = html_writer::tag('span',
-            get_string('totalpointsx', 'quiz', quiz_format_grade($quiz, $quiz->sumgrades)),
+            get_string('totalmarksx', 'quiz', quiz_format_grade($quiz, $quiz->sumgrades)),
             array('class' => 'totalpoints'));
 
     $bits[] = html_writer::tag('span',
index a05a2db..a7cc6c4 100644 (file)
@@ -642,6 +642,8 @@ $string['reviewbefore'] = 'Allow review while quiz is open';
 $string['reviewclosed'] = 'After the quiz is closed';
 $string['reviewduring'] = 'During the attempt';
 $string['reviewimmediately'] = 'Immediately after the attempt';
+$string['marks'] = 'Marks';
+$string['marks_help'] = 'The numerical marks for each question, and the overall attempt score.';
 $string['reviewnever'] = 'Never allow review';
 $string['reviewofattempt'] = 'Review of attempt {$a}';
 $string['reviewofpreview'] = 'Review of preview';
@@ -650,7 +652,15 @@ $string['reviewoptions'] = 'Students may review';
 $string['reviewoptionsheading'] = 'Review options';
 $string['reviewoptionsheading_help'] = 'These options control what information students can see when they review a quiz attempt or look at the quiz reports.
 
-"Immediately after the attempt" means within two minutes of the attempt being finished. "Later, while the quiz is still open" means after this, and before the quiz close date. "After the quiz is closed" means after the quiz close date has passed. If the quiz does not have a close date, this state is never reached.';
+**During the attempt** settings are are only relevant for some behaviours, like \'interactive with multiple tries\', which may display feedback during the attempt.
+
+**Immediately after the attempt** settings apply for the first two minutes after \'Submit all and finish\' is clicked.
+
+**Later, while the quiz is still open** settings apply after this, and before the quiz close date.
+
+**After the quiz is closed** settings apply after the quiz close date has passed. If the quiz does not have a close date, this state is never reached.';
+$string['reviewoverallfeedback'] = 'Overall feedback';
+$string['reviewoverallfeedback_help'] = 'The feedback given at the end of the attempt, depending on the student\'s total mark.';
 $string['reviewresponse'] = 'Review response';
 $string['reviewresponsetoq'] = 'Review response (question {$a})';
 $string['reviewthisattempt'] = 'Review your responses to this attempt';
@@ -734,6 +744,7 @@ $string['summaryofattempt'] = 'Summary of attempt';
 $string['summaryofattempts'] = 'Summary of your previous attempts';
 $string['temporaryblocked'] = 'You are temporarily not allowed to re-attempt the quiz.<br /> You will be able to take another attempt on:';
 $string['theattempt'] = 'The attempt';
+$string['theattempt_help'] = 'Whether the student can review the attempt at all.';
 $string['time'] = 'Time';
 $string['timecompleted'] = 'Completed';
 $string['timedelay'] = 'You are not allowed to do the quiz since you have not passed the time delay before attempting another quiz';
@@ -750,7 +761,7 @@ $string['tofile'] = 'to file';
 $string['tolerance'] = 'Tolerance';
 $string['toomanyrandom'] = 'The number of random questions required is more than are still available in the category!';
 $string['top'] = 'Top';
-$string['totalpointsx'] = 'Total of grades: {$a}';
+$string['totalmarksx'] = 'Total of marks: {$a}';
 $string['totalquestionsinrandomqcategory'] = 'Total of {$a} questions in category.';
 $string['true'] = 'True';
 $string['truefalse'] = 'True/false';
index 6190daa..6c45f5d 100644 (file)
@@ -42,13 +42,13 @@ class mod_quiz_mod_form extends moodleform_mod {
 
     public function __construct($current, $section, $cm, $course) {
         self::$reviewfields = array(
-            'attempt' => get_string('theattempt', 'quiz'),
-            'correctness' => get_string('whethercorrect', 'question'),
-            'marks' => get_string('marks', 'question'),
-            'specificfeedback' => get_string('specificfeedback', 'question'),
-            'generalfeedback' => get_string('generalfeedback', 'question'),
-            'rightanswer' => get_string('rightanswer', 'question'),
-            'overallfeedback' => get_string('overallfeedback', 'quiz'),
+            'attempt'          => array('theattempt', 'quiz'),
+            'correctness'      => array('whethercorrect', 'question'),
+            'marks'            => array('marks', 'quiz'),
+            'specificfeedback' => array('specificfeedback', 'question'),
+            'generalfeedback'  => array('generalfeedback', 'question'),
+            'rightanswer'      => array('rightanswer', 'question'),
+            'overallfeedback'  => array('reviewoverallfeedback', 'quiz'),
         );
         parent::__construct($current, $section, $cm, $course);
     }
@@ -197,7 +197,7 @@ class mod_quiz_mod_form extends moodleform_mod {
 
         // Review options.
         $this->add_review_options_group($mform, $quizconfig, 'during',
-                mod_quiz_display_options::DURING);
+                mod_quiz_display_options::DURING, true);
         $this->add_review_options_group($mform, $quizconfig, 'immediately',
                 mod_quiz_display_options::IMMEDIATELY_AFTER);
         $this->add_review_options_group($mform, $quizconfig, 'open',
@@ -362,9 +362,19 @@ class mod_quiz_mod_form extends moodleform_mod {
         $this->add_action_buttons();
     }
 
-    protected function add_review_options_group($mform, $quizconfig, $whenname, $when) {
+    protected function add_review_options_group($mform, $quizconfig, $whenname,
+            $when, $withhelp = false) {
+        global $OUTPUT;
+
         $group = array();
-        foreach (self::$reviewfields as $field => $label) {
+        foreach (self::$reviewfields as $field => $string) {
+            list($identifier, $component) = $string;
+
+            $label = get_string($identifier, $component);
+            if ($withhelp) {
+                $label .= ' ' . $OUTPUT->help_icon($identifier, $component);
+            }
+
             $group[] = $mform->createElement('checkbox', $field . $whenname, '', $label);
         }
         $mform->addGroup($group, $whenname . 'optionsgrp',
index 89214d5..3f9e77f 100644 (file)
@@ -33,7 +33,7 @@ defined('MOODLE_INTERNAL') || die();
  * @copyright  2008 Jamie Pratt
  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  */
-class quiz_report_overview_table extends quiz_attempt_report_table {
+class quiz_overview_table extends quiz_attempt_report_table {
 
     protected $regradedqs = array();
 
index 0b82f20..a85b8f0 100644 (file)
@@ -128,7 +128,7 @@ class quiz_overview_report extends quiz_attempt_report {
         // Load the required questions.
         $questions = quiz_report_get_significant_questions($quiz);
 
-        $table = new quiz_report_overview_table($quiz, $this->context, $qmsubselect,
+        $table = new quiz_overview_table($quiz, $this->context, $qmsubselect,
                 $qmfilter, $attemptsmode, $groupstudents, $students, $detailedmarks,
                 $questions, $includecheckboxes, $reporturl, $displayoptions);
         $filename = quiz_report_download_filename(get_string('overviewfilename', 'quiz_overview'),
index 5282d3c..a215f2a 100644 (file)
@@ -145,7 +145,7 @@ class quiz_responses_report extends quiz_attempt_report {
         $displaycourseshortname = format_string($COURSE->shortname, true,
                 array('context' => $displaycoursecontext));
 
-        $table = new quiz_report_responses_table($quiz, $this->context, $qmsubselect,
+        $table = new quiz_responses_table($quiz, $this->context, $qmsubselect,
                 $qmfilter, $attemptsmode, $groupstudents, $students, $questions,
                 $includecheckboxes, $reporturl, $displayoptions);
         $filename = quiz_report_download_filename(get_string('responsesfilename', 'quiz_responses'),
index cb2a48d..f4b02bf 100644 (file)
@@ -33,7 +33,7 @@ defined('MOODLE_INTERNAL') || die();
  * @copyright  2008 Jean-Michel Vedrine
  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  */
-class quiz_report_responses_table extends quiz_attempt_report_table {
+class quiz_responses_table extends quiz_attempt_report_table {
 
     public function __construct($quiz, $context, $qmsubselect, $qmfilter,
             $attemptsmode, $groupstudents, $students,
index ab134da..3df206a 100644 (file)
@@ -112,7 +112,7 @@ class quiz_statistics_report extends quiz_default_report {
         }
 
         // Set up the main table.
-        $this->table = new quiz_report_statistics_table();
+        $this->table = new quiz_statistics_table();
         if ($everything) {
             $report = get_string('completestatsfilename', 'quiz_statistics');
         } else {
@@ -364,7 +364,7 @@ class quiz_statistics_report extends quiz_default_report {
             return;
         }
 
-        $qtable = new quiz_report_statistics_question_table($question->id);
+        $qtable = new quiz_statistics_question_table($question->id);
         $exportclass = $this->table->export_class_instance();
         $qtable->export_class_instance($exportclass);
         if (!$this->table->is_downloading()) {
@@ -974,7 +974,8 @@ class quiz_statistics_report extends quiz_default_report {
         $output .= '<input type="hidden" name="everything" value="1"/>';
         $output .= '<input type="submit" value="' .
                 get_string('downloadeverything', 'quiz_statistics') . '"/>';
-        $output .= html_writer::select($downloadoptions, 'download',
+        $output .= html_writer('action', 'menudownload', false, array('class' => 'accesshide'));
+        $output .= html_writer::select($this->table->defaultdownloadformat, 'download',
                 $this->table->defaultdownloadformat, false);
         $output .= '</div></form>';
 
index 7ac4eb8..269adb5 100644 (file)
@@ -40,7 +40,7 @@ require_once($CFG->libdir . '/tablelib.php');
  * @copyright  2008 Jamie Pratt
  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  */
-class quiz_report_statistics_question_table extends flexible_table {
+class quiz_statistics_question_table extends flexible_table {
     /** @var object this question with a _stats field. */
     protected $questiondata;
 
index 566da5a..9118f38 100644 (file)
@@ -36,7 +36,7 @@ require_once($CFG->libdir.'/tablelib.php');
  * @copyright  2008 Jamie Pratt
  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  */
-class quiz_report_statistics_table extends flexible_table {
+class quiz_statistics_table extends flexible_table {
     /** @var object the quiz settings. */
     protected $quiz;
 
index 18a855c..3331a7f 100644 (file)
@@ -84,25 +84,17 @@ div.editq div.question div.content .singlequestion a .questiontext{text-decorati
 #page-mod-quiz-edit.ie6 div.question div.content .questiontext {width:50%;}
 #page-mod-quiz-edit.ie6 div.question div.content .questionname {width:20%;}
 
-#page-mod-quiz-mod #reviewoptionshdr .fitem,
-#adminquizreviewoptions .group {float: left;width: 33%;clear: none;}
-
-#page-mod-quiz-mod #reviewoptionshdr .fitemtitle,
-#adminquizreviewoptions .fitemtitle {width: 100%;font-weight: bold;text-align: left;height: 2.5em;margin-left: 0;}
-
-#page-mod-quiz-mod #reviewoptionshdr fieldset.fgroup,
-#adminquizreviewoptions {clear: left;}
-#page-mod-quiz-mod #reviewoptionshdr fieldset.fgroup span,
-#adminquizreviewoptions span {float: left;clear: left; margin: 0.1em 0;}
-#page-mod-quiz-mod #reviewoptionshdr fieldset.fgroup span label,
-#adminquizreviewoptions span label {margin-left: 0.4em;}
-
-#page-mod-quiz-mod.dir-rtl #reviewoptionshdr .fitem,
-#adminquizreviewoptions .group {float: right; width: 24%;}
-#page-mod-quiz-mod.dir-rtl #reviewoptionshdr fieldset.fgroup span,
-#adminquizreviewoptions span {float: right; clear: right;}
-#page-mod-quiz-mod.dir-rtl #reviewoptionshdr .fitemtitle,
-#adminquizreviewoptions .fitemtitle {text-align: right;}
+#page-mod-quiz-mod #reviewoptionshdr .fitem {float: left;width: 23%;clear: none;}
+
+#page-mod-quiz-mod #reviewoptionshdr .fitemtitle {width: 100%;font-weight: bold;text-align: left;height: 2.5em;margin-left: 0;}
+
+#page-mod-quiz-mod #reviewoptionshdr fieldset.fgroup {clear: left; margin: 0 0 1em; }
+#page-mod-quiz-mod #reviewoptionshdr fieldset.fgroup > span {float: left;clear: left; line-height: 1.7; }
+#page-mod-quiz-mod #reviewoptionshdr fieldset.fgroup span label {margin-left: 0.4em;}
+
+#page-mod-quiz-mod.dir-rtl #reviewoptionshdr .fitem {float: right;}
+#page-mod-quiz-mod.dir-rtl #reviewoptionshdr fieldset.fgroup span {float: right; clear: right;}
+#page-mod-quiz-mod.dir-rtl #reviewoptionshdr .fitemtitle {text-align: right;}
 
 /** Mod quiz view **/
 #page-mod-quiz-view .quizinfo,
@@ -386,14 +378,11 @@ bank window's title is prominent enough*/
 .ie6#page-mod-quiz-edit .reorder .questioncontentcontainer .randomquestioncategory label{width: 35%;}
 .qnum label {padding-right: 0.25em;}
 
-/** settings.php */
-#adminquizreviewoptions {margin-bottom: 0.5em;}
-
 /* RTL Mode */
 
-#page-mod-quiz-mod.dir-rtl #reviewoptionshdr .fitem, .dir-rtl  #adminquizreviewoptions .group { width: 23%;float: right;}
-#page-mod-quiz-mod.dir-rtl #reviewoptionshdr .fitemtitle, .dir-rtl  #adminquizreviewoptions .fitemtitle {text-align: right;}
-#page-mod-quiz-mod.dir-rtl #reviewoptionshdr fieldset.fgroup span, .dir-rtl  #adminquizreviewoptions span {clear: right;float: right;}
+#page-mod-quiz-mod.dir-rtl #reviewoptionshdr .fitem { width: 23%;float: right;}
+#page-mod-quiz-mod.dir-rtl #reviewoptionshdr .fitemtitle {text-align: right;}
+#page-mod-quiz-mod.dir-rtl #reviewoptionshdr fieldset.fgroup span {clear: right;float: right;}
 #page-mod-quiz-edit.dir-rtl div.quizpage span.pagetitle {float: right;}
 #page-mod-quiz-edit.dir-rtl div.quizpage .pagecontent {float: right;}
 #page-mod-quiz-edit.dir-rtl div.question {clear: right;}
index 3e39b6d..7a02882 100644 (file)
@@ -1507,7 +1507,8 @@ function scorm_get_toc($user,$scorm,$cmid,$toclink=TOCJSLINK,$currentorg='',$sco
     }
 
     $url = new moodle_url('/mod/scorm/player.php?a='.$scorm->id.'&currentorg='.$currentorg.$modestr);
-    $result->tocmenu = $OUTPUT->single_select($url, 'scoid', $tocmenus, $sco->id, null, "tocmenu");
+    $toclabel = array('' =>  get_accesshide(get_string('organization', 'scorm')));
+    $result->tocmenu = $OUTPUT->single_select($url, 'scoid', $tocmenus, $sco->id, $toclabel, "tocmenu");
 
     return $result;
 }
index e880493..a93fd25 100644 (file)
@@ -120,7 +120,8 @@ class MoodleQuickForm_wikieditor extends MoodleQuickForm_textarea {
             $html .= html_writer::empty_tag('img', array('alt' => $button[1], 'src' => $CFG->wwwroot . '/mod/wiki/editors/wiki/images/' . $button[0]));
             $html .= "</a>";
         }
-        $html .= "<select onchange=\"insertTags('{$imagetag[0]}', '{$imagetag[1]}', this.value)\">";
+        $html .= "<label class='accesshide' for='addtags'>" . get_string('add') . ' ' . get_string('tags')  . "</label>";
+        $html .= "<select id='addtags' onchange=\"insertTags('{$imagetag[0]}', '{$imagetag[1]}', this.value)\">";
         $html .= "<option value='" . s(get_string('wikiimage', 'wiki')) . "'>" . get_string('insertimage', 'wiki') . '</option>';
         foreach ($this->files as $filename) {
             $html .= "<option value='".s($filename)."'>";
index 763a673..123cfc2 100644 (file)
@@ -346,7 +346,8 @@ class mod_wiki_renderer extends plugin_renderer_base {
                     $baseurl->params($params);
                     $name = 'uid';
                     $selected = $subwiki->userid;
-                    echo $this->output->single_select($baseurl, $name, $options, $selected);
+                    $label  = get_accesshide(get_string('user'));
+                    echo $this->output->single_select($baseurl, $name, $options, $selected, $label);
                     echo $this->output->container_end();
                 }
                 return;
@@ -403,7 +404,8 @@ class mod_wiki_renderer extends plugin_renderer_base {
                 $baseurl->params($params);
                 $name = 'groupanduser';
                 $selected = $subwiki->groupid . '-' . $subwiki->userid;
-                echo $this->output->single_select($baseurl, $name, $options, $selected);
+                $label  = get_accesshide(get_string('group'));
+                echo $this->output->single_select($baseurl, $name, $options, $selected, $label);
                 echo $this->output->container_end();
 
                 return;
@@ -450,7 +452,8 @@ class mod_wiki_renderer extends plugin_renderer_base {
                 $baseurl->params($params);
                 $name = 'groupanduser';
                 $selected = $subwiki->groupid . '-' . $subwiki->userid;
-                echo $this->output->single_select($baseurl, $name, $options, $selected);
+                $label  = get_accesshide(get_string('user'));
+                echo $this->output->single_select($baseurl, $name, $options, $selected, $label);
                 echo $this->output->container_end();
 
                 return;
index adf9363..8c2c780 100644 (file)
@@ -94,6 +94,7 @@ abstract class qbehaviour_renderer extends plugin_renderer_base {
                     'name' => $inputname . 'format', 'value' => key($formats)));
 
         } else {
+            $commenteditor .= html_writer::label($commentformat, 'menu' . $inputname, false, array('class' => 'accesshide'));
             $commenteditor .= html_writer::select(
                     $formats, $inputname . 'format', $commentformat, '');
         }
index 8c59bb9..8d7ffa9 100644 (file)
@@ -171,8 +171,8 @@ class question_usage_by_activity {
         } else {
             $this->questionattempts[] = $qa;
         }
-        $ids = array_keys($this->questionattempts);
-        $qa->set_slot(end($ids));
+        end($this->questionattempts); // Ready to get the last key on the next line.
+        $qa->set_slot(key($this->questionattempts));
         $this->observer->notify_attempt_added($qa);
         return $qa->get_slot();
     }
index 0b70c45..f5061ad 100644 (file)
@@ -114,7 +114,8 @@ class qformat_xhtml extends qformat_default {
             shuffle( $ans_list ); // random display order
 
             // build drop down for answers
-            $dropdown = "<select name=\"quest_$id\">\n";
+            $dropdown = '<label class="accesshide" for="quest_' . $id . '">' . get_string('options', 'question') . '</label>';
+            $dropdown .= "<select name=\"quest_$id\">\n";
             foreach($ans_list as $ans) {
                 $dropdown .= "<option value=\"" . s($ans) . "\">" . s($ans) . "</option>\n";
             }
index af7cd38..9437345 100644 (file)
@@ -749,11 +749,13 @@ class qtype_calculated extends question_type {
                     ? 'decimals'
                     : 'significantfigures'), 'qtype_calculated', $i);
             }
-            $menu1 = html_writer::select($lengthoptions, 'calclength[]', $regs[4], null);
+            $menu1 = html_writer::label($regs[4], 'menucalclength', false, array('class' => 'accesshide'));
+            $menu1 .= html_writer::select($lengthoptions, 'calclength[]', $regs[4], null);
 
             $options = array('uniform' => get_string('uniformbit', 'qtype_calculated'),
                     'loguniform' => get_string('loguniformbit', 'qtype_calculated'));
-            $menu2 = html_writer::select($options, 'calcdistribution[]', $regs[1], null);
+            $menu2 = html_writer::label($regs[1], 'menucalcdistribution', false, array('class' => 'accesshide'));
+            $menu2 .= html_writer::select($options, 'calcdistribution[]', $regs[1], null);
             return '<input type="submit" onclick="'
                 . "getElementById('addform').regenerateddefid.value='$defid'; return true;"
                 .'" value="'. get_string('generatevalue', 'qtype_calculated') . '"/><br/>'
@@ -1193,7 +1195,8 @@ class qtype_calculated extends question_type {
                 list($options, $selected) =
                     $this->dataset_options($form, $datasetname);
                 unset($options['0']); // Mandatory...
-                $datasetmenus[$datasetname] = html_writer::select(
+                $datasetmenus[$datasetname] = html_writer::label($selected, 'menudataset', false , array('class' => 'accesshide'));
+                $datasetmenus[$datasetname] .= html_writer::select(
                         $options, 'dataset[]', $selected, null);
             }
         }
@@ -1201,7 +1204,8 @@ class qtype_calculated extends question_type {
             if (!isset($datasetmenus[$datasetname])) {
                 list($options, $selected) =
                     $this->dataset_options($form, $datasetname);
-                $datasetmenus[$datasetname] = html_writer::select(
+                $datasetmenus[$datasetname] = html_writer::label($selected, 'menudataset', false , array('class' => 'accesshide'));
+                $datasetmenus[$datasetname] .= html_writer::select(
                         $options, 'dataset[]', $selected, null);
             }
         }
index 061d449..cdb1d70 100644 (file)
@@ -223,6 +223,7 @@ class qtype_essay_format_editor_renderer extends plugin_renderer_base {
                     'name' => $inputname . 'format', 'value' => key($formats)));
 
         } else {
+            $output .= html_writer::label($responseformat, 'menu' . $inputname . 'format');
             $output .= html_writer::select($formats, $inputname . 'format', $responseformat, '');
         }
         $output .= html_writer::end_tag('div');
index 8a3372c..a899b04 100644 (file)
@@ -80,6 +80,7 @@ class qtype_match_renderer extends qtype_with_combined_feedback_renderer {
             }
 
             $result .= html_writer::tag('td',
+                    html_writer::label($selected, 'menu' . $qa->get_qt_field_name('sub' . $key), false, array('class' => 'accesshide')) .
                     html_writer::select($choices, $qa->get_qt_field_name('sub' . $key), $selected,
                             array('0' => 'choose'), array('disabled' => $options->readonly)) .
                     ' ' . $feedbackimage, array('class' => $classes));
index 29c23d6..b0a8c91 100644 (file)
@@ -223,7 +223,7 @@ class qtype_multianswer_textfield_renderer extends qtype_multianswer_subq_render
                 s($correctanswer->answer), $options);
 
         $output = '';
-        $output .= html_writer::start_tag('label', array('class' => 'subq'));
+        $output .= html_writer::start_tag('label', array('class' => 'subq', 'for' => $inputattributes['id']));
         $output .= html_writer::empty_tag('input', $inputattributes);
         $output .= $feedbackimg;
         $output .= $feedbackpopup;
@@ -274,8 +274,8 @@ class qtype_multianswer_multichoice_inline_renderer
             $inputattributes['class'] = $this->feedback_class($matchinganswer->fraction);
             $feedbackimg = $this->feedback_image($matchinganswer->fraction);
         }
-
-        $select = html_writer::select($choices, $qa->get_qt_field_name($fieldname),
+        $selecg = html_writer::label($response, $inputattributes['id']);
+        $select .= html_writer::select($choices, $qa->get_qt_field_name($fieldname),
                 $response, array('' => ''), $inputattributes);
 
         $order = $subq->get_order($qa);
index cc334c4..d2a120f 100644 (file)
@@ -76,7 +76,8 @@ class qtype_numerical_renderer extends qtype_renderer {
             $inputattributes['size'] = round(strlen($placeholder) * 1.1);
         }
 
-        $input = html_writer::empty_tag('input', $inputattributes) . $feedbackimg;
+        $input = html_writer::label($inputattributes['name'], $inputattributes['id']);
+        $input .= html_writer::empty_tag('input', $inputattributes) . $feedbackimg;
 
         if ($question->has_separate_unit_field()) {
             if ($question->unitdisplay == qtype_numerical::UNITRADIO) {
@@ -98,7 +99,8 @@ class qtype_numerical_renderer extends qtype_renderer {
                         array('class' => 'unitchoices'));
 
             } else if ($question->unitdisplay == qtype_numerical::UNITSELECT) {
-                $unitchoice = html_writer::select($question->ap->get_unit_options(),
+                $unitchoice = html_writer::label($selectedunit, 'menu' . $qa->get_qt_field_name('unit'));
+                $unitchoice .= html_writer::select($question->ap->get_unit_options(),
                         $qa->get_qt_field_name('unit'), $selectedunit, array(''=>'choosedots'),
                         array('disabled' => $options->readonly));
             }
index e7879bf..5c779f2 100644 (file)
@@ -71,8 +71,8 @@ class qtype_shortanswer_renderer extends qtype_renderer {
             $placeholder = $matches[0];
             $inputattributes['size'] = round(strlen($placeholder) * 1.1);
         }
-
-        $input = html_writer::empty_tag('input', $inputattributes) . $feedbackimg;
+        $input = html_writer::label($inputattributes['name'], $inputattributes['id']);
+        $input .= html_writer::empty_tag('input', $inputattributes) . $feedbackimg;
 
         if ($placeholder) {
             $questiontext = substr_replace($questiontext, $input,
index 9fe5c13..0a6aeb2 100644 (file)
@@ -75,11 +75,14 @@ $table = new html_table();
 $table->width = '*';
 $table->align = array('left','left','left','left','left','left');
 
-$reporttypemenu = html_writer::select($reportoptions,'report',$report, false);
-$timeoptionsmenu = html_writer::select($timeoptions,'time',$time, false);
+$reporttypemenu = html_writer::label(get_string('statsreporttype'), 'menureport', false, array('class' => 'accesshide'));
+$reporttypemenu .= html_writer::select($reportoptions,'report',$report, false);
+$timeoptionsmenu = html_writer::label(get_string('time'), 'menutime', false, array('class' => 'accesshide'));
+$timeoptionsmenu .= html_writer::select($timeoptions,'time',$time, false);
 
 $table->data[] = array(get_string('statsreporttype'),$reporttypemenu,
                        get_string('statstimeperiod'),$timeoptionsmenu,
+                       '<label class="accesshide" for="numcourses">' . get_string('numberofcourses') . '</label>' .
                        '<input type="text" name="numcourses" size="3" maxlength="2" value="'.$numcourses.'" />',
                        '<input type="submit" value="'.get_string('view').'" />') ;
 
index dd543b0..26a160b 100644 (file)
@@ -306,10 +306,12 @@ function report_log_print_mnet_selector_form($hostid, $course, $selecteduser=0,
     echo "<input type=\"hidden\" name=\"showcourses\" value=\"$showcourses\" />\n";
     if (has_capability('report/log:view', $sitecontext) && $showcourses) {
         $cid = empty($course->id)? '1' : $course->id;
+        echo html_writer::label(get_string('courses'), 'menuhost_course', false, array('class' => 'accesshide'));
         echo html_writer::select($dropdown, "host_course", $hostid.'/'.$cid);
     } else {
         $courses = array();
         $courses[$course->id] = $course->fullname . ((empty($course->category)) ? ' ('.get_string('site').') ' : '');
+        echo html_writer::label(get_string('courses'), 'menuid', false, array('class' => 'accesshide'));
         echo html_writer::select($courses,"id",$course->id, false);
         if (has_capability('report/log:view', $sitecontext)) {
             $a = new stdClass();
@@ -328,10 +330,12 @@ function report_log_print_mnet_selector_form($hostid, $course, $selecteduser=0,
         else {
             $groups = array();
         }
+        echo html_writer::label(get_string('groups'), 'menugroup', false, array('class' => 'accesshide'));
         echo html_writer::select($groups, "group", $selectedgroup, get_string("allgroups"));
     }
 
     if ($showusers) {
+        echo html_writer::label(get_string('participantslist'), 'menuuser', false, array('class' => 'accesshide'));
         echo html_writer::select($users, "user", $selecteduser, get_string("allparticipants"));
     }
     else {
@@ -343,20 +347,25 @@ function report_log_print_mnet_selector_form($hostid, $course, $selecteduser=0,
         else {
             $users[0] = get_string('allparticipants');
         }
+        echo html_writer::label(get_string('participantslist'), 'menuuser', false, array('class' => 'accesshide'));
         echo html_writer::select($users, "user", $selecteduser, false);
         $a->url = "$CFG->wwwroot/report/log/index.php?chooselog=0&group=$selectedgroup&user=$selecteduser"
             ."&id=$course->id&date=$selecteddate&modid=$selectedactivity&showusers=1&showcourses=$showcourses";
         print_string('logtoomanyusers','moodle',$a);
     }
 
+    echo html_writer::label(get_string('date'), 'menudate', false, array('class' => 'accesshide'));
     echo html_writer::select($dates, "date", $selecteddate, get_string("alldays"));
+    echo html_writer::label(get_string('showreports'), 'menumodid', false, array('class' => 'accesshide'));
     echo html_writer::select($activities, "modid", $selectedactivity, get_string("allactivities"));
+    echo html_writer::label(get_string('actions'), 'menumodaction', false, array('class' => 'accesshide'));
     echo html_writer::select($actions, 'modaction', $modaction, get_string("allactions"));
 
     $logformats = array('showashtml' => get_string('displayonpage'),
                         'downloadascsv' => get_string('downloadtext'),
                         'downloadasods' => get_string('downloadods'),
                         'downloadasexcel' => get_string('downloadexcel'));
+    echo html_writer::label(get_string('log', 'report_log'). ' '. strtolower(get_string('format')), 'menulogformat', false, array('class' => 'accesshide'));
     echo html_writer::select($logformats, 'logformat', $logformat, false);
     echo '<input type="submit" value="'.get_string('gettheselogs').'" />';
     echo '</div>';
@@ -546,11 +555,13 @@ function report_log_print_selector_form($course, $selecteduser=0, $selecteddate=
     echo "<input type=\"hidden\" name=\"showusers\" value=\"$showusers\" />\n";
     echo "<input type=\"hidden\" name=\"showcourses\" value=\"$showcourses\" />\n";
     if (has_capability('report/log:view', $sitecontext) && $showcourses) {
+        echo html_writer::label(get_string('courses'), 'menuid', false, array('class' => 'accesshide'));
         echo html_writer::select($courses, "id", $course->id, false);
     } else {
         //        echo '<input type="hidden" name="id" value="'.$course->id.'" />';
         $courses = array();
         $courses[$course->id] = $course->fullname . (($course->id == SITEID) ? ' ('.get_string('site').') ' : '');
+        echo html_writer::label(get_string('courses'), 'menuid', false, array('class' => 'accesshide'));
         echo html_writer::select($courses,"id",$course->id, false);
         if (has_capability('report/log:view', $sitecontext)) {
             $a = new stdClass();
@@ -569,10 +580,12 @@ function report_log_print_selector_form($course, $selecteduser=0, $selecteddate=
         else {
             $groups = array();
         }
+        echo html_writer::label(get_string('groups'), 'menuid', false, array('class' => 'accesshide'));
         echo html_writer::select($groups, "group", $selectedgroup, get_string("allgroups"));
     }
 
     if ($showusers) {
+        echo html_writer::label(get_string('users'), 'menuid', false, array('class' => 'accesshide'));
         echo html_writer::select($users, "user", $selecteduser, get_string("allparticipants"));
     }
     else {
@@ -584,15 +597,19 @@ function report_log_print_selector_form($course, $selecteduser=0, $selecteddate=
         else {
             $users[0] = get_string('allparticipants');
         }
+        echo html_writer::label(get_string('users'), 'menuuser', false, array('class' => 'accesshide'));
         echo html_writer::select($users, "user", $selecteduser, false);
         $a = new stdClass();
         $a->url = "$CFG->wwwroot/report/log/index.php?chooselog=0&group=$selectedgroup&user=$selecteduser"
             ."&id=$course->id&date=$selecteddate&modid=$selectedactivity&showusers=1&showcourses=$showcourses";
         print_string('logtoomanyusers','moodle',$a);
     }
+    echo html_writer::label(get_string('date'), 'menudate', false, array('class' => 'accesshide'));
     echo html_writer::select($dates, "date", $selecteddate, get_string("alldays"));
 
+    echo html_writer::label(get_string('activities'), 'menumodid', false, array('class' => 'accesshide'));
     echo html_writer::select($activities, "modid", $selectedactivity, get_string("allactivities"));
+    echo html_writer::label(get_string('actions'), 'menumodaction', false, array('class' => 'accesshide'));
     echo html_writer::select($actions, 'modaction', $modaction, get_string("allactions"));
 
     $logformats = array('showashtml' => get_string('displayonpage'),
@@ -600,6 +617,7 @@ function report_log_print_selector_form($course, $selecteduser=0, $selecteddate=
                         'downloadasods' => get_string('downloadods'),
                         'downloadasexcel' => get_string('downloadexcel'));
 
+    echo html_writer::label(get_string('log', 'report_log'). ' '. strtolower(get_string('format')), 'menulogformat', false, array('class' => 'accesshide'));
     echo html_writer::select($logformats, 'logformat', $logformat, false);
     echo '<input type="submit" value="'.get_string('gettheselogs').'" />';
     echo '</div>';
index f5246b0..d95bab7 100644 (file)
@@ -311,7 +311,7 @@ if (!empty($instanceid) && !empty($roleid)) {
     }
     echo '</div>';
     echo '<div>';
-    echo '<label for="formaction">'.get_string('withselectedusers').'</label>';
+    echo '<label for="formactionselect">'.get_string('withselectedusers').'</label>';
     $displaylist['messageselect.php'] = get_string('messageselectadd');
     echo html_writer::select($displaylist, 'formaction', '', array(''=>'choosedots'), array('id'=>'formactionselect'));
     echo $OUTPUT->help_icon('withselectedusers');
index f8548c4..afddccb 100644 (file)
@@ -46,6 +46,7 @@ function report_stats_mode_menu($course, $mode, $time, $url) {
     }
     $popupurl = $url."?course=$course->id&time=$time";
     $select = new single_select(new moodle_url($popupurl), 'mode', $options, $mode, null);
+    $select->set_label(get_accesshide(get_string('reports')));
     $select->formid = 'switchmode';
     return $OUTPUT->render($select);
 }
@@ -126,21 +127,21 @@ function report_stats_report($course, $report, $mode, $user, $roleid, $time) {
         }
 
         $table->align = array('left','left','left','left','left','left','left','left');
-        $table->data[] = array(get_string('course'),html_writer::select($courseoptions,'course',$course->id,false),
-                               get_string('users'),html_writer::select($users,'userid',$userid,false),
-                               get_string('statsreporttype'),html_writer::select($reportoptions,'report',($report == 5) ? $report.$roleid : $report,false),
-                               get_string('statstimeperiod'),html_writer::select($timeoptions,'time',$time,false),
+        $table->data[] = array(html_writer::label(get_string('course'), 'menucourse'), html_writer::select($courseoptions, 'course', $course->id, false),
+                               html_writer::label(get_string('users'), 'menuuserid'), html_writer::select($users, 'userid', $userid, false),
+                               html_writer::label(get_string('statsreporttype'), 'menureport'), html_writer::select($reportoptions,'report',($report == 5) ? $report.$roleid : $report,false),
+                               html_writer::label(get_string('statstimeperiod'), 'menutime') ,html_writer::select($timeoptions,'time',$time,false),
                                '<input type="submit" value="'.get_string('view').'" />') ;
     } else if ($mode == STATS_MODE_RANKED) {
         $table->align = array('left','left','left','left','left','left');
-        $table->data[] = array(get_string('statsreporttype'),html_writer::select($reportoptions,'report',($report == 5) ? $report.$roleid : $report,false),
-                               get_string('statstimeperiod'),html_writer::select($timeoptions,'time',$time,false),
+        $table->data[] = array(html_writer::label(get_string('statsreporttype'), 'menureport'), html_writer::select($reportoptions,'report',($report == 5) ? $report.$roleid : $report,false),
+                               html_writer::label(get_string('statstimeperiod'), 'menutime'), html_writer::select($timeoptions,'time',$time,false),
                                '<input type="submit" value="'.get_string('view').'" />') ;
     } else if ($mode == STATS_MODE_GENERAL) {
         $table->align = array('left','left','left','left','left','left','left');
-        $table->data[] = array(get_string('course'),html_writer::select($courseoptions,'course',$course->id,false),
-                               get_string('statsreporttype'),html_writer::select($reportoptions,'report',($report == 5) ? $report.$roleid : $report,false),
-                               get_string('statstimeperiod'),html_writer::select($timeoptions,'time',$time,false),
+        $table->data[] = array(html_writer::label(get_string('course'), 'menucourse'), html_writer::select($courseoptions,'course',$course->id,false),
+                               html_writer::label(get_string('statsreporttype'), 'menureport'), html_writer::select($reportoptions,'report',($report == 5) ? $report.$roleid : $report,false),
+                               html_writer::label(get_string('statstimeperiod'), 'menutime'), html_writer::select($timeoptions,'time',$time,false),
                                '<input type="submit" value="'.get_string('view').'" />') ;
     }
 
index 1bda70d..42d4428 100644 (file)
@@ -217,7 +217,7 @@ class repository_alfresco extends repository {
 
     public function print_search() {
         $str = parent::print_search();
-        $str .= '<label>Space: </label><br /><select name="space">';
+        $str .= '<label for="space">Space: </label><br /><select id="space" name="space">';
         foreach ($this->user_session->stores as $v) {
             $str .= '<option ';
             if ($v->__toString() === 'workspace://SpacesStore') {
index d48b09f..177253a 100644 (file)
@@ -111,6 +111,7 @@ case 'renameform':
     $home_url->param('draftpath', $draftpath);
     $home_url->param('action', 'rename');
     echo ' <form method="post" action="'.$home_url->out().'">';
+    echo '  <label class="accesshide" for="newfilename">' . get_string('enternewname', 'repository') . '</label>';
     echo '  <input name="newfilename" type="text" value="'.s($filename).'" />';
     echo '  <input name="filename" type="hidden" value="'.s($filename).'" />';
     echo '  <input name="draftpath" type="hidden" value="'.s($draftpath).'" />';
@@ -227,7 +228,8 @@ case 'mkdirform':
     $home_url->param('draftpath', $draftpath);
     $home_url->param('action', 'mkdir');
     echo ' <form method="post" action="'.$home_url->out().'">';
-    echo '  <input name="newdirname" type="text" />';
+    echo '  <label class="accesshide" for="newdirname">' . get_string('entername', 'repository') . '</label>';
+    echo '  <input name="newdirname" id="newdirname" type="text" />';
     echo '  <input name="draftpath" type="hidden" value="'.s($draftpath).'" />';
     echo '  <input type="submit" value="'.s(get_string('makeafolder', 'moodle')).'" />';
     echo ' </form>';
index 68aee10..8e97b60 100644 (file)
@@ -305,8 +305,8 @@ case 'confirm':
     echo '<form method="post">';
     echo '<table>';
     echo '  <tr>';
-    echo '    <td><label>'.get_string('filename', 'repository').'</label></td>';
-    echo '    <td><input type="text" name="filename" value="'.s($filename).'" /></td>';
+    echo '    <td><label for="filename">'.get_string('filename', 'repository').'</label></td>';
+    echo '    <td><input type="text" id="filename" name="filename" value="'.s($filename).'" /></td>';
     echo '    <td><input type="hidden" name="fileurl" value="'.s($fileurl).'" /></td>';
     echo '    <td><input type="hidden" name="action" value="download" /></td>';
     echo '    <td><input type="hidden" name="itemid" value="'.s($itemid).'" /></td>';
index 8bb33b4..b83ab8c 100644 (file)
@@ -159,11 +159,12 @@ echo $OUTPUT->header();
                 <div class="coursetag_edit_centered">
                     <div class="coursetag_edit_row">
                         <div class="coursetag_edit_left">
-                            $edittagthisunit
+                            <label for="coursetag_new_tag">$edittagthisunit</label>
                         </div>
                         <div class="coursetag_edit_right">
                             <div class="coursetag_form_input1">
-                                <input type="text" name="coursetag_sug_keyword" class="coursetag_form_input1a" disabled="disabled" />
+                                <label clas="accesshide" for="coursetag_sug_keyword">$edittagthisunit</label>
+                                <input type="text" name="coursetag_sug_keyword" id="coursetag_sug_keyword" class="coursetag_form_input1a" disabled="disabled" />
                             </div>
                             <div class="coursetag_form_input2">
                                 <input type="text" name="coursetag_new_tag" id="coursetag_new_tag" class="coursetag_form_input2a"
@@ -182,10 +183,12 @@ EOT;
             $outstr .= <<<EOT1
                     <div class="coursetag_edit_row">
                         <div class="coursetag_edit_left">
-                            $editdeletemytag
+                            <label for="del_tag">
+                                $editdeletemytag
+                            </label>
                         </div>
                         <div class="coursetag_edit_right">
-                            <select name="del_tag">
+                            <select id="del_tag" name="del_tag">
                                 $selectoptions
                             </select>
                         </div>
index e0edeb9..e8aca5c 100644 (file)
@@ -260,8 +260,10 @@ if ($tagrecords = $DB->get_records_sql($query, $params, $table->get_page_start()
         $flag           =   $tag->flag;
         $timemodified   =   format_time(time() - $tag->timemodified);
         $checkbox       =   '<input type="checkbox" name="tagschecked[]" value="'.$tag->id.'" />';
-        $text           =   '<input type="text" name="newname['.$tag->id.']" />';
-        $tagtype        =   html_writer::select($existing_tagtypes, 'tagtypes['.$tag->id.']', $tag->tagtype, false);
+        $text           =   html_writer::label(get_string('newname', 'tag'), 'newname_' . $tag->id, false, array('class' => 'accesshide'));
+        $text          .=   '<input type="text" id="newname_' . $tag->id. '" name="newname['.$tag->id.']" />';
+        $tagtype        =   html_writer::label(get_string('tagtype', 'tag'), 'menutagtypes'. $tag->id, false, array('class' => 'accesshide'));
+        $tagtype       .=   html_writer::select($existing_tagtypes, 'tagtypes['.$tag->id.']', $tag->tagtype, false);
 
         //if the tag if flagged, highlight it
         if ($tag->flag > 0) {
@@ -283,6 +285,7 @@ if ($tagrecords = $DB->get_records_sql($query, $params, $table->get_page_start()
     echo '<input type="button" onclick="checknone()" value="'.get_string('deselectall').'" /> ';
     echo '<input type="hidden" name="sesskey" value="'.sesskey().'" /> ';
     echo '<br/><br/>';
+    echo html_writer::label(get_string('withselectedtags', 'tag'), 'menuformaction', false, array('class' => 'accesshide'));
     echo '<select id="menuformaction" name="action">
                 <option value="" selected="selected">'. get_string('withselectedtags', 'tag') .'</option>
                 <option value="reset">'. get_string('resetflag', 'tag') .'</option>
index 91f90a9..a0db13c 100644 (file)
@@ -210,7 +210,7 @@ echo $OUTPUT->doctype() ?>
 
                 <div data-role="fieldcontain" id="sliderdiv">
                     <label for="slider"><?php p(get_string('mtoggle','theme_mymobile')); ?>:</label>
-                    <select name="slider" class="slider" data-role="slider" data-track-theme="b">
+                    <select id="slider" name="slider" class="slider" data-role="slider" data-track-theme="b">
                         <option value="on">On</option>
                         <option value="off">Off</option>
                     </select>
index a0eac19..f539e65 100644 (file)
@@ -746,6 +746,8 @@ class theme_mymobile_core_renderer extends core_renderer {
 
         if ($select->label) {
             $output .= html_writer::label($select->label, $select->attributes['id']);
+        } else {
+            $output .= html_writer::label($select->selected, $select->attributes['id']);
         }
 
         if ($select->helpicon instanceof help_icon) {
index 5a0d0a8..dbe15f2 100644 (file)
@@ -46,7 +46,8 @@ require_capability('moodle/notes:manage', $context);
 if (empty($CFG->enablenotes)) {
     print_error('notesdisabled', 'notes');
 }
-
+$testusers = $users;
+$users = '';
 if (!empty($users) && confirm_sesskey()) {
     if (count($users) != count($contents) || count($users) != count($states)) {
         print_error('invalidformdata', '', $CFG->wwwroot.'/user/index.php?id='.$id);
@@ -79,7 +80,7 @@ $PAGE->set_title("$course->shortname: ".get_string('extendenrol'));
 $PAGE->set_heading($course->fullname);
 
 echo $OUTPUT->header();
-
+$users = $testusers;
 // this will contain all available the based On select options, but we'll disable some on them on a per user basis
 
 echo $OUTPUT->heading($straddnote);
@@ -104,12 +105,12 @@ if (empty($users) and $post = data_submitted()) {
         }
     }
 }
-
 foreach ($users as $k => $v) {
     if(!$user = $DB->get_record('user', array('id'=>$v))) {
         continue;
     }
-    $checkbox = html_writer::select($state_names, 'states[' . $k . ']', empty($states[$k]) ? NOTES_STATE_PUBLIC : $states[$k], false);
+    $checkbox = html_writer::label('menustates[' . $k . ']', 'menustates', false, array('class' => 'accesshide'));
+    $checkbox .= html_writer::select($state_names, 'states[' . $k . ']', empty($states[$k]) ? NOTES_STATE_PUBLIC : $states[$k], false);
     $table->data[] = array(
         '<input type="hidden" name="userid['.$k.']" value="'.$v.'" />'. fullname($user, true),
         '<textarea name="contents['. $k . ']" rows="2" cols="40">' . strip_tags(@$contents[$k]) . '</textarea>',
index 90f1b3d..f46f801 100644 (file)
@@ -119,6 +119,7 @@ echo '<br /><textarea name="content" rows="5" cols="50">' . strip_tags(@$content
 echo '<p>';
 echo get_string('publishstate', 'notes');
 echo $OUTPUT->help_icon('publishstate', 'notes');
+echo html_writer::label(get_string('state'), 'menustate', false, array('class' => 'accesshide'));
 echo html_writer::select($state_names, 'state', empty($state) ? NOTES_STATE_PUBLIC : $state, false);
 echo '</p>';
 
index 08a5196..585b5df 100644 (file)
 
     if (has_capability('moodle/site:viewparticipants', $context) && $totalcount > ($perpage*3)) {
         echo '<form action="index.php" class="searchform"><div><input type="hidden" name="id" value="'.$course->id.'" />'.get_string('search').':&nbsp;'."\n";
-        echo '<input type="text" name="search" value="'.s($search).'" />&nbsp;<input type="submit" value="'.get_string('search').'" /></div></form>'."\n";
+        echo '<label class="accesshide" for="search">' . get_string('search', 'search') . '</label>';
+        echo '<input type="text" id="search" name="search" value="'.s($search).'" />&nbsp;<input type="submit" value="'.get_string('search').'" /></div></form>'."\n";
     }
 
     $perpageurl = clone($baseurl);
index e077cf1..6426111 100644 (file)
@@ -14,7 +14,7 @@
 </tr>
 
 <tr valign="top">
-    <td align="right"><b><?php print_string("formattexttype"); ?>:</b></td>
+    <td align="right"><label for="menuformat"><b><?php print_string("formattexttype"); ?>:</b></label></td>
     <td>
     <?php
         if ($usehtmleditor) {   /// Trying this out for a while