Browse Source

! fix some more minor template issues
! work on making sure input fields / text / check / select have accessibility label tags and ID's, many files done, many to go.

Spuds 13 years ago
parent
commit
241126035d

+ 1 - 1
Sources/Profile.php

@@ -739,7 +739,7 @@ function loadCustomFields($memID, $area = 'summary')
 			foreach ($options as $k => $v)
 			{
 				$true = (!$exists && $row['default_value'] == $v) || $value == $v;
-				$input_html .= '<label for="customfield_' . $row['col_name'] . '_' . $k . '"><input type="radio" name="customfield[' . $row['col_name'] . ']" class="input_radio" id="customfield_' . $row['col_name'] . '_' . $k . '" value="' . $k . '" ' . ($true ? 'checked="checked"' : '') . '>' . $v . '</label><br />';
+				$input_html .= '<label for="customfield_' . $row['col_name'] . '_' . $k . '"><input type="radio" name="customfield[' . $row['col_name'] . ']" class="input_radio" id="customfield_' . $row['col_name'] . '_' . $k . '" value="' . $k . '" ' . ($true ? 'checked="checked"' : '') . ' />' . $v . '</label><br />';
 				if ($true)
 					$output_html = $v;
 			}

+ 30 - 30
Themes/default/Admin.template.php

@@ -1053,23 +1053,23 @@ function template_edit_profile_field()
 
 						<dl class="settings">
 							<dt>
-								<strong>', $txt['custom_edit_name'], ':</strong>
+								<strong><label for="field_name">', $txt['custom_edit_name'], ':</label></strong>
 							</dt>
 							<dd>
-								<input type="text" name="field_name" value="', $context['field']['name'], '" size="20" maxlength="40" class="input_text" />
+								<input type="text" name="field_name" id="field_name" value="', $context['field']['name'], '" size="20" maxlength="40" class="input_text" />
 							</dd>
 							<dt>
-								<strong>', $txt['custom_edit_desc'], ':</strong>
+								<strong><label for="field_desc">', $txt['custom_edit_desc'], ':</label></strong>
 							</dt>
 							<dd>
-								<textarea name="field_desc" rows="3" cols="40">', $context['field']['desc'], '</textarea>
+								<textarea name="field_desc" id="field_desc" rows="3" cols="40">', $context['field']['desc'], '</textarea>
 							</dd>
 							<dt>
-								<strong>', $txt['custom_edit_profile'], ':</strong><br />
+								<strong><label for="profile_area">', $txt['custom_edit_profile'], ':</label></strong><br />
 								<span class="smalltext">', $txt['custom_edit_profile_desc'], '</span>
 							</dt>
 							<dd>
-								<select name="profile_area">
+								<select name="profile_area" id="profile_area">
 									<option value="none"', $context['field']['profile_area'] == 'none' ? ' selected="selected"' : '', '>', $txt['custom_edit_profile_none'], '</option>
 									<option value="account"', $context['field']['profile_area'] == 'account' ? ' selected="selected"' : '', '>', $txt['account'], '</option>
 									<option value="forumprofile"', $context['field']['profile_area'] == 'forumprofile' ? ' selected="selected"' : '', '>', $txt['forumprofile'], '</option>
@@ -1077,7 +1077,7 @@ function template_edit_profile_field()
 								</select>
 							</dd>
 							<dt>
-								<strong>', $txt['custom_edit_registration'], ':</strong>
+								<strong><label for="reg">', $txt['custom_edit_registration'], ':</label></strong>
 							</dt>
 							<dd>
 								<select name="reg" id="reg">
@@ -1087,14 +1087,14 @@ function template_edit_profile_field()
 								</select>
 							</dd>
 							<dt>
-								<strong>', $txt['custom_edit_display'], ':</strong>
+								<strong><label for="display">', $txt['custom_edit_display'], ':</label></strong>
 							</dt>
 							<dd>
 								<input type="checkbox" name="display" id="display"', $context['field']['display'] ? ' checked="checked"' : '', ' class="input_check" />
 							</dd>
 
 							<dt>
-								<strong>', $txt['custom_edit_placement'], ':</strong>
+								<strong><label for="placement">', $txt['custom_edit_placement'], ':</label></strong>
 							</dt>
 							<dd>
 								<select name="placement" id="placement">
@@ -1105,11 +1105,11 @@ function template_edit_profile_field()
 							</dd>
 							<dt>
 								<a id="field_show_enclosed" href="', $scripturl, '?action=helpadmin;help=field_show_enclosed" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" class="icon" alt="', $txt['help'], '" align="top" /></a>
-								<strong>', $txt['custom_edit_enclose'], ':</strong><br />
+								<strong><label for="enclose">', $txt['custom_edit_enclose'], ':</label></strong><br />
 								<span class="smalltext">', $txt['custom_edit_enclose_desc'], '</span>
 							</dt>
 							<dd>
-								<textarea name="enclose" rows="10" cols="50">', @$context['field']['enclose'], '</textarea>
+								<textarea name="enclose" id="enclose" rows="10" cols="50">', @$context['field']['enclose'], '</textarea>
 							</dd>
 						</dl>
 					</fieldset>
@@ -1117,7 +1117,7 @@ function template_edit_profile_field()
 						<legend>', $txt['custom_edit_input'], '</legend>
 						<dl class="settings">
 							<dt>
-								<strong>', $txt['custom_edit_picktype'], ':</strong>
+								<strong><label for="field_type">', $txt['custom_edit_picktype'], ':</label></strong>
 							</dt>
 							<dd>
 								<select name="field_type" id="field_type" onchange="updateInputBoxes();">
@@ -1129,28 +1129,28 @@ function template_edit_profile_field()
 								</select>
 							</dd>
 							<dt id="max_length_dt">
-								<strong>', $txt['custom_edit_max_length'], ':</strong><br />
+								<strong><label for="max_length_dd">', $txt['custom_edit_max_length'], ':</label></strong><br />
 								<span class="smalltext">', $txt['custom_edit_max_length_desc'], '</span>
 							</dt>
-							<dd id="max_length_dd">
-								<input type="text" name="max_length" value="', $context['field']['max_length'], '" size="7" maxlength="6" class="input_text" />
+							<dd>
+								<input type="text" name="max_length" id="max_length_dd" value="', $context['field']['max_length'], '" size="7" maxlength="6" class="input_text" />
 							</dd>
 							<dt id="dimension_dt">
-								<strong>', $txt['custom_edit_dimension'], ':</strong>
+								<strong><label for="dimension_dd">', $txt['custom_edit_dimension'], ':</label></strong>
 							</dt>
 							<dd id="dimension_dd">
 								<strong>', $txt['custom_edit_dimension_row'], ':</strong> <input type="text" name="rows" value="', $context['field']['rows'], '" size="5" maxlength="3" class="input_text" />
 								<strong>', $txt['custom_edit_dimension_col'], ':</strong> <input type="text" name="cols" value="', $context['field']['cols'], '" size="5" maxlength="3" class="input_text" />
 							</dd>
 							<dt id="bbc_dt">
-								<strong>', $txt['custom_edit_bbc'], '</strong>
+								<strong><label for="bbc_dd">', $txt['custom_edit_bbc'], '</label></strong>
 							</dt>
-							<dd id="bbc_dd">
-								<input type="checkbox" name="bbc"', $context['field']['bbc'] ? ' checked="checked"' : '', ' class="input_check" />
+							<dd >
+								<input type="checkbox" name="bbc" id="bbc_dd"', $context['field']['bbc'] ? ' checked="checked"' : '', ' class="input_check" />
 							</dd>
 							<dt id="options_dt">
 								<a href="', $scripturl, '?action=helpadmin;help=customoptions" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" class="icon" alt="', $txt['help'], '" /></a>
-								<strong>', $txt['custom_edit_options'], ':</strong><br />
+								<strong><label for="options_dd">', $txt['custom_edit_options'], ':</label></strong><br />
 								<span class="smalltext">', $txt['custom_edit_options_desc'], '</span>
 							</dt>
 							<dd id="options_dd">
@@ -1167,10 +1167,10 @@ function template_edit_profile_field()
 								</div>
 							</dd>
 							<dt id="default_dt">
-								<strong>', $txt['custom_edit_default'], ':</strong>
+								<strong><label for="default_dd">', $txt['custom_edit_default'], ':</label></strong>
 							</dt>
-							<dd id="default_dd">
-								<input type="checkbox" name="default_check"', $context['field']['default_check'] ? ' checked="checked"' : '', ' class="input_check" />
+							<dd>
+								<input type="checkbox" name="default_check" id="default_dd"', $context['field']['default_check'] ? ' checked="checked"' : '', ' class="input_check" />
 							</dd>
 						</dl>
 					</fieldset>
@@ -1179,7 +1179,7 @@ function template_edit_profile_field()
 						<dl class="settings">
 							<dt id="mask_dt">
 								<a id="custom_mask" href="', $scripturl, '?action=helpadmin;help=custom_mask" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" class="icon" alt="', $txt['help'], '" align="top" /></a>
-								<strong>', $txt['custom_edit_mask'], ':</strong><br />
+								<strong><label for="mask">', $txt['custom_edit_mask'], ':</label></strong><br />
 								<span class="smalltext">', $txt['custom_edit_mask_desc'], '</span>
 							</dt>
 							<dd>
@@ -1195,7 +1195,7 @@ function template_edit_profile_field()
 								</span>
 							</dd>
 							<dt>
-								<strong>', $txt['custom_edit_privacy'], ':</strong>
+								<strong><label for="private">', $txt['custom_edit_privacy'], ':</label></strong>
 								<span class="smalltext">', $txt['custom_edit_privacy_desc'], '</span>
 							</dt>
 							<dd>
@@ -1207,18 +1207,18 @@ function template_edit_profile_field()
 								</select>
 							</dd>
 							<dt id="can_search_dt">
-								<strong>', $txt['custom_edit_can_search'], ':</strong><br />
+								<strong><label for="can_search_dd">', $txt['custom_edit_can_search'], ':</label></strong><br />
 								<span class="smalltext">', $txt['custom_edit_can_search_desc'], '</span>
 							</dt>
-							<dd id="can_search_dd">
-								<input type="checkbox" name="can_search"', $context['field']['can_search'] ? ' checked="checked"' : '', ' class="input_check" />
+							<dd>
+								<input type="checkbox" name="can_search" id="can_search_dd"', $context['field']['can_search'] ? ' checked="checked"' : '', ' class="input_check" />
 							</dd>
 							<dt>
-								<strong>', $txt['custom_edit_active'], ':</strong><br />
+								<strong><label for="can_search_check">', $txt['custom_edit_active'], ':</label></strong><br />
 								<span class="smalltext">', $txt['custom_edit_active_desc'], '</span>
 							</dt>
 							<dd>
-								<input type="checkbox" name="active"', $context['field']['active'] ? ' checked="checked"' : '', ' class="input_check" />
+								<input type="checkbox" name="active" id="can_search_check"', $context['field']['active'] ? ' checked="checked"' : '', ' class="input_check" />
 							</dd>
 						</dl>
 					</fieldset>

+ 6 - 6
Themes/default/ManageBans.template.php

@@ -34,24 +34,24 @@ function template_ban_edit()
 				<form action="', $scripturl, '?action=admin;area=ban;sa=edit" method="post" accept-charset="', $context['character_set'], '" onsubmit="if (this.ban_name.value == \'\') {alert(\'', $txt['ban_name_empty'], '\'); return false;} if (this.partial_ban.checked &amp;&amp; !(this.cannot_post.checked || this.cannot_register.checked || this.cannot_login.checked)) {alert(\'', $txt['ban_restriction_empty'], '\'); return false;}">
 					<dl class="settings">
 						<dt>
-							<strong>', $txt['ban_name'], ':</strong>
+							<strong><label for="ban_name">', $txt['ban_name'], ':</label></strong>
 						</dt>
 						<dd>
-							<input type="text" name="ban_name" value="', $context['ban']['name'], '" size="47" maxlength="60" class="input_text" />
+							<input type="text" name="ban_name" id="ban_name" value="', $context['ban']['name'], '" size="47" maxlength="60" class="input_text" />
 						</dd>
 						<dt>
-							<strong>', $txt['ban_reason'], ':</strong><br />
+							<strong><label for="reason">', $txt['ban_reason'], ':<label></strong><br />
 							<span class="smalltext">', $txt['ban_reason_desc'], '</span>
 						</dt>
 						<dd>
-							<textarea name="reason" cols="40" rows="3" style="min-height: 64px; max-height: 64px; min-width: 50%; max-width: 99%;">', $context['ban']['reason'], '</textarea>
+							<textarea name="reason" id="reason" cols="40" rows="3" style="min-height: 64px; max-height: 64px; min-width: 50%; max-width: 99%;">', $context['ban']['reason'], '</textarea>
 						</dd>
 						<dt>
-							<strong>', $txt['ban_notes'], ':</strong><br />
+							<strong><label for="ban_notes">', $txt['ban_notes'], ':</label></strong><br />
 							<span class="smalltext">', $txt['ban_notes_desc'], '</span>
 						</dt>
 						<dd>
-							<textarea name="notes" cols="40" rows="3" style="min-height: 64px; max-height: 64px; min-width: 50%; max-width: 99%;">', $context['ban']['notes'], '</textarea>
+							<textarea name="notes" id="ban_notes" cols="40" rows="3" style="min-height: 64px; max-height: 64px; min-width: 50%; max-width: 99%;">', $context['ban']['notes'], '</textarea>
 						</dd>
 					</dl>
 					<fieldset class="ban_settings floatleft">

+ 10 - 10
Themes/default/ManageLanguages.template.php

@@ -275,34 +275,34 @@ function template_modify_language_entries()
 						<legend>', $context['primary_settings']['name'], '</legend>
 					<dl class="settings">
 						<dt>
-							', $txt['languages_character_set'], ':
+							<label for="character_set">', $txt['languages_character_set'], ':</label>
 						</dt>
 						<dd>
-							<input type="text" name="character_set" size="20" value="', $context['primary_settings']['character_set'], '"', (empty($context['file_entries']) ? '' : ' disabled="disabled"'), ' class="input_text" />
+							<input type="text" name="character_set" id="character_set" size="20" value="', $context['primary_settings']['character_set'], '"', (empty($context['file_entries']) ? '' : ' disabled="disabled"'), ' class="input_text" />
 						</dd>
 						<dt>
-							', $txt['languages_locale'], ':
+							<label for="locale>', $txt['languages_locale'], ':</label>
 						</dt>
 						<dd>
-							<input type="text" name="locale" size="20" value="', $context['primary_settings']['locale'], '"', (empty($context['file_entries']) ? '' : ' disabled="disabled"'), ' class="input_text" />
+							<input type="text" name="locale" id="locale" size="20" value="', $context['primary_settings']['locale'], '"', (empty($context['file_entries']) ? '' : ' disabled="disabled"'), ' class="input_text" />
 						</dd>
 						<dt>
-							', $txt['languages_dictionary'], ':
+							<label for="dictionary">', $txt['languages_dictionary'], ':</label>
 						</dt>
 						<dd>
-							<input type="text" name="dictionary" size="20" value="', $context['primary_settings']['dictionary'], '"', (empty($context['file_entries']) ? '' : ' disabled="disabled"'), ' class="input_text" />
+							<input type="text" name="dictionary" id="dictionary" size="20" value="', $context['primary_settings']['dictionary'], '"', (empty($context['file_entries']) ? '' : ' disabled="disabled"'), ' class="input_text" />
 						</dd>
 						<dt>
-							', $txt['languages_spelling'], ':
+							<label for="spelling">', $txt['languages_spelling'], ':</label>
 						</dt>
 						<dd>
-							<input type="text" name="spelling" size="20" value="', $context['primary_settings']['spelling'], '"', (empty($context['file_entries']) ? '' : ' disabled="disabled"'), ' class="input_text" />
+							<input type="text" name="spelling" id="spelling" size="20" value="', $context['primary_settings']['spelling'], '"', (empty($context['file_entries']) ? '' : ' disabled="disabled"'), ' class="input_text" />
 						</dd>
 						<dt>
-							', $txt['languages_rtl'], ':
+							<label for="rtl">', $txt['languages_rtl'], ':</label>
 						</dt>
 						<dd>
-							<input type="checkbox" name="rtl"', $context['primary_settings']['rtl'] ? ' checked="checked"' : '', ' class="input_check"', (empty($context['file_entries']) ? '' : ' disabled="disabled"'), ' />
+							<input type="checkbox" name="rtl" id="rtl" ', $context['primary_settings']['rtl'] ? ' checked="checked"' : '', ' class="input_check"', (empty($context['file_entries']) ? '' : ' disabled="disabled"'), ' />
 						</dd>
 					</dl>
 					</fieldset>

+ 1 - 1
Themes/default/ManageMembergroups.template.php

@@ -584,7 +584,7 @@ function template_group_members()
 				<div class="content">
 					<dl class="settings">
 						<dt>
-							<strong>', $txt['membergroups_members_add_desc'], ':</strong>
+							<strong><label for="toAdd">', $txt['membergroups_members_add_desc'], ':</strong></label>
 						</dt>
 						<dd>
 							<input type="text" name="toAdd" id="toAdd" value="" class="input_text" />

+ 23 - 23
Themes/default/ManageMembers.template.php

@@ -31,7 +31,7 @@ function template_search_members()
 						<div class="msearch_details floatleft">
 							<dl class="settings right">
 								<dt class="righttext">
-									<strong>', $txt['member_id'], ':</strong>
+									<strong><label for="mem_id">', $txt['member_id'], ':</label></strong>
 									<select name="types[mem_id]">
 										<option value="--">&lt;</option>
 										<option value="-">&lt;=</option>
@@ -41,10 +41,10 @@ function template_search_members()
 									</select>
 								</dt>
 								<dd>
-									<input type="text" name="mem_id" value="" size="6" class="input_text" />
+									<input type="text" name="mem_id" id="mem_id" value="" size="6" class="input_text" />
 								</dd>
 								<dt class="righttext">
-									<strong>', $txt['age'], ':</strong>
+									<strong><label for="age">', $txt['age'], ':</label></strong>
 									<select name="types[age]">
 										<option value="--">&lt;</option>
 										<option value="-">&lt;=</option>
@@ -54,10 +54,10 @@ function template_search_members()
 									</select>
 								</dt>
 								<dd>
-									<input type="text" name="age" value="" size="6" class="input_text" />
+									<input type="text" name="age" id="age" value="" size="6" class="input_text" />
 								</dd>
 								<dt class="righttext">
-									<strong>', $txt['member_postcount'], ':</strong>
+									<strong><label for="posts">', $txt['member_postcount'], ':</label></strong>
 									<select name="types[posts]">
 										<option value="--">&lt;</option>
 										<option value="-">&lt;=</option>
@@ -67,10 +67,10 @@ function template_search_members()
 									</select>
 								</dt>
 								<dd>
-									<input type="text" name="posts" value="" size="6" class="input_text" />
+									<input type="text" name="posts" id="posts" value="" size="6" class="input_text" />
 								</dd>
 								<dt class="righttext">
-									<strong>', $txt['date_registered'], ':</strong>
+									<strong><label for="reg_date">', $txt['date_registered'], ':</label></strong>
 									<select name="types[reg_date]">
 										<option value="--">&lt;</option>
 										<option value="-">&lt;=</option>
@@ -80,10 +80,10 @@ function template_search_members()
 									</select>
 								</dt>
 								<dd>
-									<input type="text" name="reg_date" value="" size="10" class="input_text" /><span class="smalltext">', $txt['date_format'], '</span>
+									<input type="text" name="reg_date" id="reg_date" value="" size="10" class="input_text" /><span class="smalltext">', $txt['date_format'], '</span>
 								</dd>
 								<dt class="righttext">
-									<strong>', $txt['viewmembers_online'], ':</strong>
+									<strong><label for="last_online">', $txt['viewmembers_online'], ':</label></strong>
 									<select name="types[last_online]">
 										<option value="--">&lt;</option>
 										<option value="-">&lt;=</option>
@@ -93,47 +93,47 @@ function template_search_members()
 									</select>
 								</dt>
 								<dd>
-									<input type="text" name="last_online" value="" size="10" class="input_text" /><span class="smalltext">', $txt['date_format'], '</span>
+									<input type="text" name="last_online" id="last_online" value="" size="10" class="input_text" /><span class="smalltext">', $txt['date_format'], '</span>
 								</dd>
 							</dl>
 						</div>
 						<div class="msearch_details floatright">
 							<dl class="settings right">
 								<dt class="righttext">
-									<strong>', $txt['username'], ':</strong>
+									<strong><label for="membername">', $txt['username'], ':</label></strong>
 								</dt>
 								<dd>
-									<input type="text" name="membername" value="" class="input_text" />
+									<input type="text" name="membername" id="membername" value="" class="input_text" />
 								</dd>
 								<dt class="righttext">
-									<strong>', $txt['email_address'], ':</strong>
+									<strong><label for="email">', $txt['email_address'], ':</label></strong>
 								</dt>
 								<dd>
-									<input type="text" name="email" value="" class="input_text" />
+									<input type="text" name="email" id="email" value="" class="input_text" />
 								</dd>
 								<dt class="righttext">
-									<strong>', $txt['website'], ':</strong>
+									<strong><label for="website">', $txt['website'], ':</label></strong>
 								</dt>
 								<dd>
-									<input type="text" name="website" value="" class="input_text" />
+									<input type="text" name="website" id="website" value="" class="input_text" />
 								</dd>
 								<dt class="righttext">
-									<strong>', $txt['location'], ':</strong>
+									<strong><label for="location">', $txt['location'], ':</label></strong>
 								</dt>
 								<dd>
-									<input type="text" name="location" value="" class="input_text" />
+									<input type="text" name="location" id="location" value="" class="input_text" />
 								</dd>
 								<dt class="righttext">
-									<strong>', $txt['ip_address'], ':</strong>
+									<strong><label for="ip">', $txt['ip_address'], ':</label></strong>
 								</dt>
 								<dd>
-									<input type="text" name="ip" value="" class="input_text" />
+									<input type="text" name="ip" id="ip" value="" class="input_text" />
 								</dd>
 								<dt class="righttext">
-									<strong>', $txt['messenger_address'], ':</strong>
+									<strong><label for="messenger">', $txt['messenger_address'], ':</label></strong>
 								</dt>
 								<dd>
-									<input type="text" name="messenger" value="" class="input_text" />
+									<input type="text" name="messenger" id="messenger" value="" class="input_text" />
 								</dd>
 							</dl>
 						</div>
@@ -209,7 +209,7 @@ function template_search_members()
 							<th class="last_th">&nbsp;</th>
 						</tr>
 					</thead>
-					</tbody>';
+					<tbody>';
 
 			foreach ($context['postgroups'] as $postgroup)
 				echo '

+ 5 - 5
Themes/default/ManageScheduledTasks.template.php

@@ -52,11 +52,11 @@ function template_edit_scheduled_tasks()
 							<span class="smalltext">', $context['task']['desc'], '</span>
 						</dd>
 						<dt>
-							<strong>', $txt['scheduled_task_edit_interval'], ':</strong>
+							<strong><label for="regularity">', $txt['scheduled_task_edit_interval'], ':</label></strong>
 						</dt>
 						<dd>
 							', $txt['scheduled_task_edit_repeat'], '
-							<input type="text" name="regularity" value="', empty($context['task']['regularity']) ? 1 : $context['task']['regularity'], '" onchange="if (this.value < 1) this.value = 1;" size="2" maxlength="2" class="input_text" />
+							<input type="text" name="regularity" id="regularity" value="', empty($context['task']['regularity']) ? 1 : $context['task']['regularity'], '" onchange="if (this.value < 1) this.value = 1;" size="2" maxlength="2" class="input_text" />
 							<select name="unit">
 								<option value="0">', $txt['scheduled_task_edit_pick_unit'], '</option>
 								<option value="0">---------------------</option>
@@ -67,14 +67,14 @@ function template_edit_scheduled_tasks()
 							</select>
 						</dd>
 						<dt>
-							<strong>', $txt['scheduled_task_edit_start_time'], ':</strong><br />
+							<strong><label for="start_time">', $txt['scheduled_task_edit_start_time'], ':</label></strong><br />
 							<span class="smalltext">', $txt['scheduled_task_edit_start_time_desc'], '</span>
 						</dt>
 						<dd>
-							<input type="text" name="offset" value="', $context['task']['offset_formatted'], '" size="6" maxlength="5" class="input_text" />
+							<input type="text" name="offset" id="start_time" value="', $context['task']['offset_formatted'], '" size="6" maxlength="5" class="input_text" />
 						</dd>
 						<dt>
-							<strong>', $txt['scheduled_tasks_enabled'], ':</strong>
+							<strong><label for="enabled">', $txt['scheduled_tasks_enabled'], ':</label></strong>
 						</dt>
 						<dd>
 							<input type="checkbox" name="enabled" id="enabled" ', !$context['task']['disabled'] ? 'checked="checked"' : '', ' class="input_check" />

+ 18 - 18
Themes/default/ManageSearch.template.php

@@ -25,48 +25,48 @@ function template_modify_weights()
 				<div class="content">
 					<dl class="settings">
 						<dt class="large_caption">
-							<a href="', $scripturl, '?action=helpadmin;help=search_weight_frequency" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" alt="', $txt['help'], '" align="top" /></a>
-							', $txt['search_weight_frequency'], ':
+							<a href="', $scripturl, '?action=helpadmin;help=search_weight_frequency" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" alt="', $txt['help'], '" align="top" /></a><label for="weight1_val">
+							', $txt['search_weight_frequency'], ':</label>
 						</dt>
 						<dd class="large_caption">
 							<span class="search_weight"><input type="text" name="search_weight_frequency" id="weight1_val" value="', empty($modSettings['search_weight_frequency']) ? '0' : $modSettings['search_weight_frequency'], '" onchange="calculateNewValues()" size="3" class="input_text" /></span>
 							<span id="weight1" class="search_weight">', $context['relative_weights']['search_weight_frequency'], '%</span>
 						</dd>
 						<dt class="large_caption">
-							<a href="', $scripturl, '?action=helpadmin;help=search_weight_age" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" alt="', $txt['help'], '" align="top" /></a>
-							', $txt['search_weight_age'], ':
+							<a href="', $scripturl, '?action=helpadmin;help=search_weight_age" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" alt="', $txt['help'], '" align="top" /></a><label for="weight2_val">
+							', $txt['search_weight_age'], ':</label>
 						</dt>
 						<dd class="large_caption">
 							<span class="search_weight"><input type="text" name="search_weight_age" id="weight2_val" value="', empty($modSettings['search_weight_age']) ? '0' : $modSettings['search_weight_age'], '" onchange="calculateNewValues()" size="3" class="input_text" /></span>
 							<span id="weight2" class="search_weight">', $context['relative_weights']['search_weight_age'], '%</span>
 						</dd>
 						<dt class="large_caption">
-							<a href="', $scripturl, '?action=helpadmin;help=search_weight_length" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" alt="', $txt['help'], '" align="top" /></a>
-							', $txt['search_weight_length'], ':
+							<a href="', $scripturl, '?action=helpadmin;help=search_weight_length" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" alt="', $txt['help'], '" align="top" /></a><label for="weight3_val">
+							', $txt['search_weight_length'], ':</label>
 						</dt>
 						<dd class="large_caption">
 							<span class="search_weight"><input type="text" name="search_weight_length" id="weight3_val" value="', empty($modSettings['search_weight_length']) ? '0' : $modSettings['search_weight_length'], '" onchange="calculateNewValues()" size="3" class="input_text" /></span>
 							<span id="weight3" class="search_weight">', $context['relative_weights']['search_weight_length'], '%</span>
 						</dd>
 						<dt class="large_caption">
-							<a href="', $scripturl, '?action=helpadmin;help=search_weight_subject" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" alt="', $txt['help'], '" align="top" /></a>
-							', $txt['search_weight_subject'], ':
+							<a href="', $scripturl, '?action=helpadmin;help=search_weight_subject" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" alt="', $txt['help'], '" align="top" /></a><label for="weight4_val">
+							', $txt['search_weight_subject'], ':</label>
 						</dt>
 						<dd class="large_caption">
 							<span class="search_weight"><input type="text" name="search_weight_subject" id="weight4_val" value="', empty($modSettings['search_weight_subject']) ? '0' : $modSettings['search_weight_subject'], '" onchange="calculateNewValues()" size="3" class="input_text" /></span>
 							<span id="weight4" class="search_weight">', $context['relative_weights']['search_weight_subject'], '%</span>
 						</dd>
 						<dt class="large_caption">
-							<a href="', $scripturl, '?action=helpadmin;help=search_weight_first_message" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" alt="', $txt['help'], '" align="top" /></a>
-							', $txt['search_weight_first_message'], ':
+							<a href="', $scripturl, '?action=helpadmin;help=search_weight_first_message" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" alt="', $txt['help'], '" align="top" /></a><label for="weight5_val">
+							', $txt['search_weight_first_message'], ':</label>
 						</dt>
 						<dd class="large_caption">
 							<span class="search_weight"><input type="text" name="search_weight_first_message" id="weight5_val" value="', empty($modSettings['search_weight_first_message']) ? '0' : $modSettings['search_weight_first_message'], '" onchange="calculateNewValues()" size="3" class="input_text" /></span>
 							<span id="weight5" class="search_weight">', $context['relative_weights']['search_weight_first_message'], '%</span>
 						</dd>
 						<dt class="large_caption">
-							<a href="', $scripturl, '?action=helpadmin;help=search_weight_frequency" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" alt="', $txt['help'], '" align="top" /></a>
-							', $txt['search_weight_sticky'], ':
+							<a href="', $scripturl, '?action=helpadmin;help=search_weight_frequency" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" alt="', $txt['help'], '" align="top" /></a><label for="weight6_val">
+							', $txt['search_weight_sticky'], ':</label>
 						</dt>
 						<dd class="large_caption">
 							<span class="search_weight"><input type="text" name="search_weight_sticky" id="weight6_val" value="', empty($modSettings['search_weight_sticky']) ? '0' : $modSettings['search_weight_sticky'], '" onchange="calculateNewValues()" size="3" class="input_text" /></span>
@@ -348,25 +348,25 @@ function template_spider_edit()
 				<div class="content">
 					<dl class="settings">
 						<dt>
-							<strong>', $txt['spider_name'], ':</strong><br />
+							<strong><label for="spider_name">', $txt['spider_name'], ':</label></strong><br />
 							<span class="smalltext">', $txt['spider_name_desc'], '</span>
 						</dt>
 						<dd>
-							<input type="text" name="spider_name" value="', $context['spider']['name'], '" class="input_text" />
+							<input type="text" name="spider_name" id="spider_name" value="', $context['spider']['name'], '" class="input_text" />
 						</dd>
 						<dt>
-							<strong>', $txt['spider_agent'], ':</strong><br />
+							<strong><label for="spider_agent">', $txt['spider_agent'], ':</label></strong><br />
 							<span class="smalltext">', $txt['spider_agent_desc'], '</span>
 						</dt>
 						<dd>
-							<input type="text" name="spider_agent" value="', $context['spider']['agent'], '" class="input_text" />
+							<input type="text" name="spider_agent" id="spider_agent" value="', $context['spider']['agent'], '" class="input_text" />
 						</dd>
 						<dt>
-							<strong>', $txt['spider_ip_info'], ':</strong><br />
+							<strong><label for="spider_ip">', $txt['spider_ip_info'], ':</label></strong><br />
 							<span class="smalltext">', $txt['spider_ip_info_desc'], '</span>
 						</dt>
 						<dd>
-							<textarea name="spider_ip" rows="4" cols="20">', $context['spider']['ip_info'], '</textarea>
+							<textarea name="spider_ip" id="spider_ip" rows="4" cols="20">', $context['spider']['ip_info'], '</textarea>
 						</dd>
 					</dl>
 					<hr class="hrcolor" />

+ 9 - 1
Themes/default/PersonalMessage.template.php

@@ -612,16 +612,24 @@ function template_subject_list()
 					<option value="" disabled="disabled">---------------</option>';
 
 			echo '
-									<option value="" disabled="disabled">', $txt['pm_msg_label_apply'], ':</option>';
+					<option value="" disabled="disabled">', $txt['pm_msg_label_apply'], ':</option>';
+					
 			foreach ($context['labels'] as $label)
+			{
 				if ($label['id'] != $context['current_label_id'])
 					echo '
 					<option value="add_', $label['id'], '">&nbsp;', $label['name'], '</option>';
+			}
+			
 			echo '
 					<option value="" disabled="disabled">', $txt['pm_msg_label_remove'], ':</option>';
+					
 			foreach ($context['labels'] as $label)
+			{
 				echo '
 					<option value="rem_', $label['id'], '">&nbsp;', $label['name'], '</option>';
+			}
+			
 			echo '
 				</select>
 				<noscript>

+ 16 - 16
Themes/default/Profile.template.php

@@ -1246,7 +1246,7 @@ function template_edit_options()
 		{
 			echo '
 						<dt>
-							<strong', !empty($field['is_error']) ? ' class="error"' : '', '>', $field['label'], '</strong>';
+							<strong', !empty($field['is_error']) ? ' class="error"' : '', '>', $field['type'] !== 'label' ? '<label for="' . $key . '">' : '', $field['label'], $field['type'] !== 'label' ? '</label>' : '', '</strong>';
 
 			// Does it have any subtext to show?
 			if (!empty($field['subtext']))
@@ -1351,16 +1351,16 @@ function template_edit_options()
 		echo '
 					<dl>
 						<dt>
-							<strong', isset($context['modify_error']['bad_password']) || isset($context['modify_error']['no_password']) ? ' class="error"' : '', '>', $txt['current_password'], ': </strong><br />
+							<strong', isset($context['modify_error']['bad_password']) || isset($context['modify_error']['no_password']) ? ' class="error"' : '', '><label for="oldpasswrd">', $txt['current_password'], ': </label></strong><br />
 							<span class="smalltext">', $txt['required_security_reasons'], '</span>
 						</dt>
 						<dd>
-							<input type="password" name="oldpasswrd" size="20" style="margin-right: 4ex;" class="input_password" />
+							<input type="password" name="oldpasswrd" id="oldpasswrd" size="20" style="margin-right: 4ex;" class="input_password" />
 						</dd>
 					</dl>';
 
 	echo '
-					<hr class="hrcolor">';
+					<hr class="hrcolor" />';
 
 	// The button shouldn't say "Change profile" unless we're changing the profile...
 	if (!empty($context['submit_button_text']))
@@ -2305,19 +2305,19 @@ function template_issueWarning()
 				<hr />
 				<dl class="settings">
 					<dt>
-						<strong>', $txt['profile_warning_notify'], ':</strong>
+						<strong><label for="warn_notify">', $txt['profile_warning_notify'], ':</label></strong>
 					</dt>
 					<dd>
 						<input type="checkbox" name="warn_notify" id="warn_notify" onclick="modifyWarnNotify();" ', $context['warning_data']['notify'] ? 'checked="checked"' : '', ' class="input_check" />
 					</dd>
 					<dt>
-						<strong>', $txt['profile_warning_notify_subject'], ':</strong>
+						<strong><label for="warn_sub">', $txt['profile_warning_notify_subject'], ':</label></strong>
 					</dt>
 					<dd>
 						<input type="text" name="warn_sub" id="warn_sub" value="', empty($context['warning_data']['notify_subject']) ? $txt['profile_warning_notify_template_subject'] : $context['warning_data']['notify_subject'], '" size="50" style="width: 80%;" class="input_text" />
 					</dd>
 					<dt>
-						<strong>', $txt['profile_warning_notify_body'], ':</strong>
+						<strong><label for="warn_temp">', $txt['profile_warning_notify_body'], ':</label></strong>
 					</dt>
 					<dd>
 						<select name="warn_temp" id="warn_temp" disabled="disabled" onchange="populateNotifyTemplate();" style="font-size: x-small;">
@@ -2707,7 +2707,7 @@ function template_profile_avatar_select()
 	// Start with the upper menu
 	echo '
 							<dt>
-								<strong id="personal_picture">', $txt['personal_picture'], '</strong>
+								<strong id="personal_picture"><label for="avatar_upload_box">', $txt['personal_picture'], '</label></strong>
 								<input type="radio" onclick="swap_avatar(this); return true;" name="avatar_choice" id="avatar_choice_none" value="none"' . ($context['member']['avatar']['choice'] == 'none' ? ' checked="checked"' : '') . ' class="input_radio" /><label for="avatar_choice_none"' . (isset($context['modify_error']['bad_avatar']) ? ' class="error"' : '') . '>' . $txt['no_avatar'] . '</label><br />
 								', !empty($context['member']['avatar']['allow_server_stored']) ? '<input type="radio" onclick="swap_avatar(this); return true;" name="avatar_choice" id="avatar_choice_server_stored" value="server_stored"' . ($context['member']['avatar']['choice'] == 'server_stored' ? ' checked="checked"' : '') . ' class="input_radio" /><label for="avatar_choice_server_stored"' . (isset($context['modify_error']['bad_avatar']) ? ' class="error"' : '') . '>' . $txt['choose_avatar_gallery'] . '</label><br />' : '', '
 								', !empty($context['member']['avatar']['allow_external']) ? '<input type="radio" onclick="swap_avatar(this); return true;" name="avatar_choice" id="avatar_choice_external" value="external"' . ($context['member']['avatar']['choice'] == 'external' ? ' checked="checked"' : '') . ' class="input_radio" /><label for="avatar_choice_external"' . (isset($context['modify_error']['bad_avatar']) ? ' class="error"' : '') . '>' . $txt['my_own_pic'] . '</label><br />' : '', '
@@ -2851,7 +2851,7 @@ function template_profile_avatar_select()
 	{
 		echo '
 								<div id="avatar_upload">
-									<input type="file" size="44" name="attachment" value="" onfocus="selectRadioByName(document.forms.creator.avatar_choice, \'upload\');" class="input_file" />
+									<input type="file" size="44" name="attachment" id="avatar_upload_box" value="" onfocus="selectRadioByName(document.forms.creator.avatar_choice, \'upload\');" class="input_file" />
 									', ($context['member']['avatar']['id_attach'] > 0 ? '<br /><br /><img src="' . $context['member']['avatar']['href'] . (strpos($context['member']['avatar']['href'], '?') === false ? '?' : '&amp;') . 'time=' . time() . '" alt="" /><input type="hidden" name="id_attach" value="' . $context['member']['avatar']['id_attach'] . '" />' : ''), '
 								</div>';
 	}
@@ -2915,19 +2915,19 @@ function template_profile_timeformat_modify()
 
 	echo '
 							<dt>
-								<strong>', $txt['time_format'], ':</strong><br />
+								<strong><label for="easyformat">', $txt['time_format'], ':</label></strong><br />
 								<a href="', $scripturl, '?action=helpadmin;help=time_format" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.png" alt="', $txt['help'], '" class="floatleft" /></a>
-								<span class="smalltext">&nbsp;', $txt['date_format'], '</span>
+								<span class="smalltext">&nbsp;<label for="time_format">', $txt['date_format'], '</label></span>
 							</dt>
 							<dd>
-								<select name="easyformat" onchange="document.forms.creator.time_format.value = this.options[this.selectedIndex].value;" style="margin-bottom: 4px;">';
+								<select name="easyformat" id="easyformat" onchange="document.forms.creator.time_format.value = this.options[this.selectedIndex].value;" style="margin-bottom: 4px;">';
 	// Help the user by showing a list of common time formats.
 	foreach ($context['easy_timeformats'] as $time_format)
 		echo '
 									<option value="', $time_format['format'], '"', $time_format['format'] == $context['member']['time_format'] ? ' selected="selected"' : '', '>', $time_format['title'], '</option>';
 	echo '
 								</select><br />
-								<input type="text" name="time_format" value="', $context['member']['time_format'], '" size="30" class="input_text" />
+								<input type="text" name="time_format" id="time_format" value="', $context['member']['time_format'], '" size="30" class="input_text" />
 							</dd>';
 }
 
@@ -2938,7 +2938,7 @@ function template_profile_timeoffset_modify()
 
 	echo '
 							<dt>
-								<strong', (isset($context['modify_error']['bad_offset']) ? ' class="error"' : ''), '>', $txt['time_offset'], ':</strong><br />
+								<strong', (isset($context['modify_error']['bad_offset']) ? ' class="error"' : ''), '><label for="time_offset">', $txt['time_offset'], ':</label></strong><br />
 								<span class="smalltext">', $txt['personal_time_offset'], '</span>
 							</dt>
 							<dd>
@@ -2967,10 +2967,10 @@ function template_profile_smiley_pick()
 
 	echo '
 							<dt>
-								<strong>', $txt['smileys_current'], ':</strong>
+								<strong><label for="smiley_set">', $txt['smileys_current'], ':</label></strong>
 							</dt>
 							<dd>
-								<select name="smiley_set" onchange="document.getElementById(\'smileypr\').src = this.selectedIndex == 0 ? \'', $settings['images_url'], '/blank.png\' : \'', $modSettings['smileys_url'], '/\' + (this.selectedIndex != 1 ? this.options[this.selectedIndex].value : \'', !empty($settings['smiley_sets_default']) ? $settings['smiley_sets_default'] : $modSettings['smiley_sets_default'], '\') + \'/smiley.png\';">';
+								<select name="smiley_set" id="smiley_set" onchange="document.getElementById(\'smileypr\').src = this.selectedIndex == 0 ? \'', $settings['images_url'], '/blank.png\' : \'', $modSettings['smileys_url'], '/\' + (this.selectedIndex != 1 ? this.options[this.selectedIndex].value : \'', !empty($settings['smiley_sets_default']) ? $settings['smiley_sets_default'] : $modSettings['smiley_sets_default'], '\') + \'/smiley.png\';">';
 	foreach ($context['smiley_sets'] as $set)
 		echo '
 									<option value="', $set['id'], '"', $set['selected'] ? ' selected="selected"' : '', '>', $set['name'], '</option>';

+ 2 - 0
Themes/default/languages/Admin.english.php

@@ -367,6 +367,8 @@ $txt['attachment_thumb_memory_note2'] = 'If the system can not get the memory no
 $txt['attachment_thumb_memory_note1'] = 'Leave this unchecked to always attempt to create a thumbnail';
 $txt['attachmentThumbWidth'] = 'Maximum width of thumbnails';
 $txt['attachmentThumbHeight'] = 'Maximum height of thumbnails';
+$txt['attachment_thumbnail_settings'] = 'Thumbnail Settings';
+$txt['attachment_security_settings'] = 'Attachment Security Settings';
 
 $txt['attach_dir_does_not_exist'] = 'Does Not Exist';
 $txt['attach_dir_not_writable'] = 'Not Writable';