[LON-CAPA-cvs] cvs: loncom /auth lonlogin.pm
raeburn
raeburn at source.lon-capa.org
Sun Feb 9 17:42:13 EST 2025
raeburn Sun Feb 9 22:42:13 2025 EDT
Modified files:
/loncom/auth lonlogin.pm
Log:
- WCAG 2 compliance.
Index: loncom/auth/lonlogin.pm
diff -u loncom/auth/lonlogin.pm:1.208 loncom/auth/lonlogin.pm:1.209
--- loncom/auth/lonlogin.pm:1.208 Wed Sep 18 15:11:31 2024
+++ loncom/auth/lonlogin.pm Sun Feb 9 22:42:12 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Login Screen
#
-# $Id: lonlogin.pm,v 1.208 2024/09/18 15:11:31 raeburn Exp $
+# $Id: lonlogin.pm,v 1.209 2025/02/09 22:42:12 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -248,6 +248,9 @@
}
}
+ (undef,undef,undef,my $clientmathml,my $clientunicode,undef,my $clientmobile) =
+ &Apache::loncommon::decode_user_agent($r);
+
#
# If browser sent an old cookie for which the session file had been removed
# check if configuration for user's domain has a portal URL set. If so
@@ -268,8 +271,12 @@
# -------------------------------- Prevent users from attempting to login twice
if ($handle ne '') {
&Apache::lonnet::transfer_profile_to_env($lonidsdir,$handle);
+ my $args = {};
+ if ($clientunicode && !$clientmathml) {
+ $args->{'browser.unicode'} = 1;
+ }
my $start_page =
- &Apache::loncommon::start_page('Already logged in');
+ &Apache::loncommon::start_page('Already logged in','',$args);
my $end_page =
&Apache::loncommon::end_page();
my $dest = '/adm/roles';
@@ -380,9 +387,11 @@
}
$r->print(
$start_page
+ .'<div role="main">'
.'<p class="LC_warning">'.&mt('You are already logged in!').'</p>'
.'<p>'.&mt('Please either [_1]continue the current session[_2] or [_3]log out[_4].',
'<a href="'.$dest.'">','</a>','<a href="/adm/logout">','</a>').'</p>'
+ .'</div>'
.$end_page
);
return OK;
@@ -408,9 +417,6 @@
# ----------------------------------------------------------- Process Interface
$env{'form.interface'}=~s/\W//g;
- (undef,undef,undef,undef,undef,undef,my $clientmobile) =
- &Apache::loncommon::decode_user_agent($r);
-
my $iconpath=
&Apache::loncommon::lonhttpdurl($r->dir_config('lonIconsURL'));
@@ -618,17 +624,34 @@
.'<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">'
.'<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>'
.&mt('The LearningOnline Network with CAPA')
- .'</title></head>'
+ .'</title>'
+ .'<style type="text/css">
+body {
+ background-color:"#FFFFFF";
+}
+h2 {
+ display: block;
+ font-size: 1.17em;
+ margin-top: 1em;
+ margin-bottom: 1em;
+ margin-left: 0;
+ margin-right: 0;
+ font-weight: bold;
+}
+</style></head>'
.'<body bgcolor="#FFFFFF">'
+ .'<div role="banner">'
.'<h1>'.&mt('The LearningOnline Network with CAPA').'</h1>'
.'<img src="/adm/lonKaputt/lonlogo_broken.gif" alt="broken icon" align="right" />'
- .'<h3>'.&mt('This LON-CAPA server is temporarily not available for login.').'</h3>');
+ .'</div>'
+ .'<div role="main">'
+ .'<h2>'.&mt('This LON-CAPA server is temporarily not available for login.').'</h2>');
if ($spares) {
$r->print('<p>'.&mt('Please attempt to login to one of the following servers:')
.'</p>'
.$spares);
}
- $r->print('</body>'
+ $r->print('</div></body>'
.'</html>'
);
return OK;
@@ -812,10 +835,16 @@
}
}
- $r->print(&Apache::loncommon::start_page('The LearningOnline Network with CAPA Login',$js,
- { 'redirect' => [$expire,'/adm/roles'],
- 'add_entries' => \%add_entries,
- 'only_body' => 1,}));
+ my $args = {
+ 'redirect' => [$expire,'/adm/roles'],
+ 'add_entries' => \%add_entries,
+ 'only_body' => 1,
+ };
+ if ($clientunicode && !$clientmathml) {
+ $args->{'browser.unicode'} = 1;
+ }
+ $r->print(&Apache::loncommon::start_page('The LearningOnline Network with CAPA Login',
+ $js,$args));
# ----------------------------------------------------------------------- Texts
@@ -925,17 +954,22 @@
}
$r->print(<<HEADER);
<!-- The LON-CAPA Header -->
-<div style="background:$pgbg;margin:0;width:100%;">
+<div style="background:$pgbg;margin:0;width:100%;" role="banner">
+ <h1 style="padding:0;margin:0">
<img src="$img" border="0" alt="$alttext" class="LC_maxwidth" id="lcloginbanner" />
+ </h1>
</div>
HEADER
+ } else {
+ $r->print('<div role="banner" class="LC_visually_hidden" tabindex="-1">'.
+ '<h1>'.&mt('LON-CAPA Login Page').'</h1></div>');
}
my $stdauthformstyle = 'inline-block';
my $ssoauthstyle = 'none';
my $sso_onclick;
my $logintype;
- $r->print('<div style="float:left;margin-top:0;">');
+ $r->print('<div style="float:left;margin-top:0;" role="main">');
if ($saml_landing) {
$ssoauthstyle = 'inline-block';
$stdauthformstyle = 'none';
@@ -1104,22 +1138,22 @@
</div>
<hr style="clear:both;" />
ENDTOP
- my ($domainrow,$serverrow,$loadrow,$userloadrow,$versionrow);
+ my ($domainrow,$serverrow,$loadrow,$userloadrow,$versioninfo);
$domainrow = <<"END";
<tr>
- <td align="left" valign="top">
+ <th align="left" valign="top">
<small><b>$lt{'dom'}: </b></small>
- </td>
- <td align="left" valign="top">
+ </th>
+ <th align="left" valign="top">
<small><tt> $domain</tt></small>
</td>
</tr>
END
$serverrow = <<"END";
<tr>
- <td align="left" valign="top">
+ <th align="left" valign="top">
<small><b>$lt{'serv'}: </b></small>
- </td>
+ </th>
<td align="left" valign="top">
<small><tt> $lonhost ($role)</tt></small>
</td>
@@ -1128,9 +1162,9 @@
if ($loadlim) {
$loadrow = <<"END";
<tr>
- <td align="left" valign="top">
+ <th align="left" valign="top">
<small><b>$lt{'load'}: </b></small>
- </td>
+ </th>
<td align="left" valign="top">
<small><tt> $loadpercent $lt{'perc'}</tt></small>
</td>
@@ -1140,9 +1174,9 @@
if ($uloadlim) {
$userloadrow = <<"END";
<tr>
- <td align="left" valign="top">
+ <th align="left" valign="top">
<small><b>$lt{'userload'}: </b></small>
- </td>
+ </th>
<td align="left" valign="top">
<small><tt> $userloadpercent $lt{'perc'}</tt></small>
</td>
@@ -1150,28 +1184,24 @@
END
}
if (($version ne '') && ($version ne '<!-- VERSION -->')) {
- $versionrow = <<"END";
- <tr>
- <td colspan="2" align="left">
- <small>$version</small>
- </td>
- </tr>
-END
+ $versioninfo = "<small>$version</small>";
}
$r->print(<<ENDDOCUMENT);
+ <div role="contentinfo" style="padding:0;clear:both;margin:0;border:0">
<div style="float: left;">
<table border="0" cellspacing="0" cellpadding="0">
$domainrow
$serverrow
$loadrow
$userloadrow
-$versionrow
</table>
+ $versioninfo
</div>
<div style="float: right;">
$domainlogo
</div>
+ </div>
<br style="clear:both;" />
</div>
More information about the LON-CAPA-cvs
mailing list