[LON-CAPA-cvs] cvs: loncom /interface loncommon.pm lonhtmlcommon.pm resetpw.pm
raeburn
raeburn at source.lon-capa.org
Fri Feb 14 17:42:06 EST 2025
raeburn Fri Feb 14 22:42:06 2025 EDT
Modified files:
/loncom/interface resetpw.pm lonhtmlcommon.pm loncommon.pm
Log:
- WCAG 2 compliance.
-------------- next part --------------
Index: loncom/interface/resetpw.pm
diff -u loncom/interface/resetpw.pm:1.52 loncom/interface/resetpw.pm:1.53
--- loncom/interface/resetpw.pm:1.52 Fri Feb 14 19:01:11 2025
+++ loncom/interface/resetpw.pm Fri Feb 14 22:42:05 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Allow access to password changing via a token sent to user's e-mail.
#
-# $Id: resetpw.pm,v 1.52 2025/02/14 19:01:11 raeburn Exp $
+# $Id: resetpw.pm,v 1.53 2025/02/14 22:42:05 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -289,12 +289,13 @@
$js.= "\n".'<script src="https://www.google.com/recaptcha/api.js"></script>'."\n";
}
my $header = &Apache::loncommon::start_page('Reset password',$js,$args).
- '<h2>'.&mt('Reset forgotten LON-CAPA password').'</h2>';
+ '<div class="LC_landmark" role="banner">'.
+ '<h2 class="LC_heading_2">'.&mt('Reset forgotten LON-CAPA password').'</h2></div>';
my $output;
if ($token) {
- $r->print($header);
+ $r->print($header.'<div class="LC_landmark" role="main">');
&reset_passwd($r,$token,$contact_name,$contact_email,$clientip,\%passwdconf);
- $r->print(&Apache::loncommon::end_page());
+ $r->print('</div>'.&Apache::loncommon::end_page());
return OK;
} elsif ($udom) {
if (!$domdesc) {
@@ -418,7 +419,7 @@
} else {
$output = &get_uname($server,$defdom,\%passwdconf);
}
- $r->print($header.$output);
+ $r->print($header.'<div class="LC_landmark" role="main">'.$output.'</div>');
$r->print(&Apache::loncommon::end_page());
return OK;
}
@@ -450,13 +451,13 @@
my $onchange = 'javascript:verifyDomain(this,this.form);';
$msg .= '<form name="forgotpw" method="post" action="/adm/resetpw" onsubmit="return validInfo();">'.
&Apache::lonhtmlcommon::start_pick_box().
- &Apache::lonhtmlcommon::row_title($lt{'udom'}).
- &Apache::loncommon::select_dom_form($defdom,'udom',undef,undef,$onchange).
+ &Apache::lonhtmlcommon::row_title('<label for="udom">'.$lt{'udom'}).'</label>').
+ &Apache::loncommon::select_dom_form($defdom,'udom',undef,undef,$onchange,'','','','udom').
&Apache::lonhtmlcommon::row_closure(1).
- &Apache::lonhtmlcommon::row_title($lt{'unam'}).
+ &Apache::lonhtmlcommon::row_title('<label for="uname">'.$lt{'unam'}.'</label>').
'<input type="text" name="uname" size="20" autocapitalize="off" autocorrect="off" />'.
&Apache::lonhtmlcommon::row_closure(1).
- &Apache::lonhtmlcommon::row_title($lt{'uemail'}).
+ &Apache::lonhtmlcommon::row_title('<label for="useremail">'.$lt{'uemail'}.'</label>').
'<input type="text" name="useremail" size="30" autocapitalize="off" autocorrect="off" />'.
&Apache::lonhtmlcommon::row_closure(1);
unless ($passwdconf->{'captcha'} eq 'notused') {
Index: loncom/interface/lonhtmlcommon.pm
diff -u loncom/interface/lonhtmlcommon.pm:1.415 loncom/interface/lonhtmlcommon.pm:1.416
--- loncom/interface/lonhtmlcommon.pm:1.415 Mon Oct 21 14:16:11 2024
+++ loncom/interface/lonhtmlcommon.pm Fri Feb 14 22:42:05 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common html routines
#
-# $Id: lonhtmlcommon.pm,v 1.415 2024/10/21 14:16:11 raeburn Exp $
+# $Id: lonhtmlcommon.pm,v 1.416 2025/02/14 22:42:05 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -2080,7 +2080,7 @@
if ($lasttext ne '') {
$links .= &htmltag( 'li', htmltag($CourseBreadcrumbs ? 'b' : 'h1',
- $lasttext), {title => $lasttext});
+ $lasttext));
}
my $icons = '';
@@ -2155,9 +2155,8 @@
# Return the breadcrumb's line
-
-
- return "$links";
+ my $labeltext = &HTML::Entities::encode(&mt('Links for navigation and information'));
+ return '<div class="LC_landmark" role="navigation" aria-label="'.$labeltext.'">'.$links.'</div>';
}
sub clear_breadcrumbs {
@@ -2490,7 +2489,7 @@
}
sub row_title {
- my ($title,$css_title_class,$css_value_class, $css_value_furtherAttributes) = @_;
+ my ($title,$css_title_class,$css_value_class,$css_value_furtherAttributes) = @_;
$row_count[0]++;
my $css_class = ($row_count[0] % 2)?'LC_odd_row':'LC_even_row';
$css_title_class ||= 'LC_pick_box_title';
@@ -2503,9 +2502,9 @@
}
my $output = <<"ENDONE";
<tr class="LC_pick_box_row" $css_value_furtherAttributes>
- <td $css_title_class>
+ <th $css_title_class>
$title
- </td>
+ </th>
<td class="$css_value_class $css_class">
ENDONE
return $output;
Index: loncom/interface/loncommon.pm
diff -u loncom/interface/loncommon.pm:1.1452 loncom/interface/loncommon.pm:1.1453
--- loncom/interface/loncommon.pm:1.1452 Fri Feb 14 05:15:59 2025
+++ loncom/interface/loncommon.pm Fri Feb 14 22:42:05 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common routines
#
-# $Id: loncommon.pm,v 1.1452 2025/02/14 05:15:59 raeburn Exp $
+# $Id: loncommon.pm,v 1.1453 2025/02/14 22:42:05 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -3075,7 +3075,7 @@
=pod
-=item * &select_dom_form($defdom,$name,$includeempty,$showdomdesc,$onchange,$incdoms,$excdoms,$disabled)
+=item * &select_dom_form($defdom,$name,$includeempty,$showdomdesc,$onchange,$incdoms,$excdoms,$disabled,$id)
Returns a string containing a <select name='$name' size='1'> form to
allow a user to select the domain to preform an operation in.
@@ -3094,17 +3094,22 @@
The optional $disabled argument, if true, adds the disabled attribute to the select tag.
+The option $id argument is the value (if any) to set as the (unique) id attribute for the select tag.
+
=cut
#-------------------------------------------
sub select_dom_form {
- my ($defdom,$name,$includeempty,$showdomdesc,$onchange,$incdoms,$excdoms,$disabled) = @_;
+ my ($defdom,$name,$includeempty,$showdomdesc,$onchange,$incdoms,$excdoms,$disabled,$id) = @_;
if ($onchange) {
$onchange = ' onchange="'.$onchange.'"';
}
if ($disabled) {
$disabled = ' disabled="disabled"';
}
+ if ($id ne '') {
+ $id = ' id="'.$id.'"';
+ }
my (@domains,%exclude);
if (ref($incdoms) eq 'ARRAY') {
@domains = sort {lc($a) cmp lc($b)} (@{$incdoms});
@@ -3115,7 +3120,7 @@
if (ref($excdoms) eq 'ARRAY') {
map { $exclude{$_} = 1; } @{$excdoms};
}
- my $selectdomain = "<select name=\"$name\" size=\"1\"$onchange$disabled>\n";
+ my $selectdomain = "<select name=\"$name\" size=\"1\"$onchange$disabled$id>\n";
foreach my $dom (@domains) {
next if ($exclude{$dom});
$selectdomain.="<option value=\"$dom\" ".
@@ -7310,6 +7315,12 @@
display: inline;
}
+.LC_landmark {
+ margin: 0;
+ padding: 0;
+ border: none;
+}
+
.LC_visually_hidden:not(:focus):not(:active) {
clip-path: inset(50%);
height: 1px;
@@ -7320,6 +7331,12 @@
display: inline;
}
+.LC_heading_2 {
+ font-size: 1.17em;
+ margin-top: 1em;
+ margin-bottom: 1em;
+}
+
.LC_menus_content.shown{
display: block;
}
@@ -19064,7 +19081,7 @@
}
}
}
- return ($update);
+ return ($update);
}
return ();
}
@@ -19595,9 +19612,9 @@
if (-e $Apache::lonnet::perlvar{'lonCaptchaDir'}.'/'.$md5sum.'.png') {
$output = '<input type="hidden" name="crypt" value="'.$md5sum.'" />'."\n".
'<span class="LC_nobreak">'.
- &mt('Type in the letters/numbers shown below').' '.
+ '<label>'.&mt('Type in the letters/numbers shown below').' '.
'<input type="text" size="5" name="code" value="" autocomplete="new-password" />'.
- '</span><br />'.
+ '</label></span><br />'.
'<img src="'.$captcha_params{'www_output_dir'}.'/'.$md5sum.'.png" alt="captcha" />';
last;
}
More information about the LON-CAPA-cvs
mailing list