[LON-CAPA-cvs] cvs: rat / lonpage.pm loncom/auth lonlogin.pm lonlogout.pm lonroles.pm loncom/homework daxepage.pm structuretags.pm loncom/interface coursecatalog.pm courseprefs.pm createaccount.pm lonaboutme.pm lonblockingmenu.pm loncommon.pm lonconfigsettings.pm loncoursegroups.pm loncourserespicker.pm loncreatecourse.pm loncreateuser.pm londocs.pm lonhelp.pm lonhelper.pm lonhelpmenu.pm lonmainmenu.pm lonmodifycourse.pm lonmsgdisplay.pm lonnavdisplay.pm lonnotify.pm lonparmset.pm lonpreferences.pm lonquickgrades.pm lonrss.pm lonsearchcat.pm lonsupportreq.pm lonwhatsnew.pm portfolio.pm resetpw.pm slotrequest.pm loncom/lonnet/perl lonnet.pm
raeburn
raeburn at source.lon-capa.org
Sat Dec 13 00:56:04 EST 2025
raeburn Sat Dec 13 05:56:04 2025 EDT
Modified files:
/loncom/interface coursecatalog.pm courseprefs.pm createaccount.pm
lonaboutme.pm lonblockingmenu.pm loncommon.pm
lonconfigsettings.pm loncoursegroups.pm
loncourserespicker.pm loncreatecourse.pm
loncreateuser.pm londocs.pm lonhelper.pm
lonhelpmenu.pm lonhelp.pm lonmainmenu.pm
lonmodifycourse.pm lonmsgdisplay.pm
lonnavdisplay.pm lonnotify.pm lonparmset.pm
lonpreferences.pm lonquickgrades.pm lonrss.pm
lonsearchcat.pm lonsupportreq.pm lonwhatsnew.pm
portfolio.pm resetpw.pm slotrequest.pm
/loncom/auth lonlogin.pm lonlogout.pm lonroles.pm
/loncom/homework daxepage.pm structuretags.pm
/loncom/lonnet/perl lonnet.pm
/rat lonpage.pm
Log:
- WCAG 2 compliance. Include "Skit to main content" as first item shown
when tabbing in page.
-------------- next part --------------
Index: loncom/interface/coursecatalog.pm
diff -u loncom/interface/coursecatalog.pm:1.108 loncom/interface/coursecatalog.pm:1.109
--- loncom/interface/coursecatalog.pm:1.108 Mon Feb 24 23:20:17 2025
+++ loncom/interface/coursecatalog.pm Sat Dec 13 05:56:01 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler for displaying the course catalog interface
#
-# $Id: coursecatalog.pm,v 1.108 2025/02/24 23:20:17 raeburn Exp $
+# $Id: coursecatalog.pm,v 1.109 2025/12/13 05:56:01 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -88,8 +88,10 @@
({href=>"/adm/coursecatalog",
text=>"Course/Community Catalog"});
$r->print(&Apache::lonhtmlcommon::breadcrumbs('Course/Community Catalog'));
- $r->print('<div role="main">'.&mt('Access to catalog LON-CAPA courses/communities unavailable for: "[_1]" on servers run by: "[_2]".',
- $domdesc,$serverdomdesc).'</div>');
+ $r->print('<div role="main" id="LC_main_content">'."\n".
+ &mt('Access to catalog LON-CAPA courses/communities unavailable for: "[_1]" on servers run by: "[_2]".',
+ $domdesc,$serverdomdesc)."\n".
+ '</div>');
$r->print(&Apache::loncommon::end_page());
return OK;
}
@@ -119,12 +121,20 @@
text=>"Course/Community Catalog"});
$r->print(&Apache::lonhtmlcommon::breadcrumbs('Course/Community Catalog'));
if ($knownuser || $canviewall) {
- $r->print('<div role="main">'.&mt('No catalog of LON-CAPA courses/communities is provided for: [_1]',$domdesc).'</div>');
+ $r->print('<div role="main" id="LC_main_content">'."\n".
+ &mt('No catalog of LON-CAPA courses/communities is provided for: [_1]',
+ $domdesc)."\n".
+ '</div>');
} else {
if ($domdefaults{'catauth'} eq 'none') {
- $r->print('<div role="main">'.&mt('No catalog of LON-CAPA courses/communities is provided for: [_1]',$domdesc).'</div>');
+ $r->print('<div role="main" id="LC_main_content">'."\n".
+ &mt('No catalog of LON-CAPA courses/communities is provided for: [_1]',
+ $domdesc)."\n".
+ '</div>');
} else {
- $r->print('<div role="main">'.&mt('The catalog of LON-CAPA courses/communities provided for: "[_1]" is only available to users who are logged in.',$domdesc).'</div>');
+ $r->print('<div role="main" id="LC_main_content">'."\n".
+ &mt('The catalog of LON-CAPA courses/communities provided for: "[_1]" is only available to users who are logged in.',$domdesc)."\n".
+ '</div>');
}
}
$r->print(&Apache::loncommon::end_page());
@@ -711,7 +721,7 @@
{text=>$brtexttwo});
$r->print(
&Apache::lonhtmlcommon::breadcrumbs('Course/Community Catalog').
- '<div role="main">'.
+ '<div role="main" id="LC_main_content">'.
'<h2>'.$textthree.'</h2>'.
&print_course_listing($codedom,undef,$trails,$allitems,undef,$codetitles,undef,$hostname).
'<br />'.
@@ -864,7 +874,7 @@
text=>"Course/Community Catalog"});
}
$r->print(&Apache::lonhtmlcommon::breadcrumbs('Course/Community Catalog').
- '<div role="main">');
+ '<div role="main" id="LC_main_content">');
if ($cattype eq 'std') {
$r->print('<form name="coursecatdom" method="post" action="/adm/coursecatalog">'.
'<table border="0"><tr><th align="left"><label for="showdom">'.&mt('Domain:').'</label></th><td>'.
Index: loncom/interface/courseprefs.pm
diff -u loncom/interface/courseprefs.pm:1.136 loncom/interface/courseprefs.pm:1.137
--- loncom/interface/courseprefs.pm:1.136 Sat Jun 14 02:50:25 2025
+++ loncom/interface/courseprefs.pm Sat Dec 13 05:56:01 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set configuration settings for a course
#
-# $Id: courseprefs.pm,v 1.136 2025/06/14 02:50:25 raeburn Exp $
+# $Id: courseprefs.pm,v 1.137 2025/12/13 05:56:01 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -4641,7 +4641,9 @@
} else {
$categoriesform .= &mt('No categories defined in this domain.');
}
- $r->print($start_page.$categoriesform.$end_page);
+ $r->print($start_page."\n".
+ '<div class="LC_landmark" role="main" id="LC_main_content">'."\n".
+ $categoriesform.'</div>'.$end_page);
return;
}
@@ -5053,7 +5055,9 @@
my $title = 'Version Constraints';
my $start_page =
&Apache::loncommon::start_page($title,undef,{'only_body' => 1,});
- $r->print($start_page.$top_header);
+ $r->print($start_page."\n".
+ '<div class="LC_landmark" role="main" id="LC_main_content">'."\n".
+ $top_header);
if ($output) {
$r->print($output);
if (defined($navmap) || $supptools) {
@@ -5066,7 +5070,7 @@
&mt('No version requirements from resource content or settings.').
'</p>');
}
- $r->print(&Apache::loncommon::end_page());
+ $r->print('</div>'.&Apache::loncommon::end_page());
my ($currmajor,$currminor) = split(/\./,$loncaparev);
if (($currmajor != $reqdmajor) || ($currminor != $reqdminor)) {
return 1;
Index: loncom/interface/createaccount.pm
diff -u loncom/interface/createaccount.pm:1.91 loncom/interface/createaccount.pm:1.92
--- loncom/interface/createaccount.pm:1.91 Tue Dec 9 02:29:03 2025
+++ loncom/interface/createaccount.pm Sat Dec 13 05:56:01 2025
@@ -4,7 +4,7 @@
# kerberos, or SSO) or an e-mail address. Requests to use an e-mail address as
# username may be processed automatically, or may be queued for approval.
#
-# $Id: createaccount.pm,v 1.91 2025/12/09 02:29:03 raeburn Exp $
+# $Id: createaccount.pm,v 1.92 2025/12/13 05:56:01 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -107,7 +107,7 @@
&Apache::loncommon::start_page('Already logged in',undef,$args);
my $end_page =
&Apache::loncommon::end_page();
- $r->print($start_page."\n".'<div class="LC_landmark" role="main">'.
+ $r->print($start_page."\n".'<div class="LC_landmark" role="main" id="LC_main_content">'.
'<h2 class="LC_heading_2">'.&mt('You are already logged in').'</h2>'.
'<p>'.&mt('Please either [_1]continue the current session[_2] or [_3]log out[_4].',
'<a href="/adm/roles">','</a>','<a href="/adm/logout">','</a>').
@@ -382,6 +382,7 @@
({href=>$url,
text=>$pagetitle});
$r->print(&Apache::lonhtmlcommon::breadcrumbs('Create account'));
+ $r->print("\n".'<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
return;
}
@@ -397,7 +398,7 @@
'cmiddlename','cgeneration','cpermanentemail','cid']).
'</form>');
}
- $r->print(&Apache::loncommon::end_page());
+ $r->print('</div>'.&Apache::loncommon::end_page());
}
sub get_usertype {
@@ -914,7 +915,7 @@
$contact_email,$courseid,$emailusername,$usertype,
$uname);
}
- return '<div class="LC_landmark" role="main">'.$output.'</div>';
+ return '<div class="LC_landmark" role="main" id="LC_main_content">'.$output.'</div>';
}
sub call_rulecheck {
Index: loncom/interface/lonaboutme.pm
diff -u loncom/interface/lonaboutme.pm:1.171 loncom/interface/lonaboutme.pm:1.172
--- loncom/interface/lonaboutme.pm:1.171 Sun Mar 16 21:04:09 2025
+++ loncom/interface/lonaboutme.pm Sat Dec 13 05:56:01 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Personal Information Page
#
-# $Id: lonaboutme.pm,v 1.171 2025/03/16 21:04:09 raeburn Exp $
+# $Id: lonaboutme.pm,v 1.172 2025/12/13 05:56:01 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -126,12 +126,13 @@
$r->print('\noindent{\large\textbf{'.&mt('No user personal information page available').'}}\\\\\\\\');
} else {
$r->print(&Apache::loncommon::start_page("Personal Information Page"));
+ $r->print("\n".'<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
$r->print('<p class="_LC_info">'.&mt('No user personal information page available') .'</p>'.
&mt('This is a result of one of the following:').'<ul>'.
'<li>'.&mt('The administrator of this domain has disabled personal information page functionality for this specific user.').'</li>'.
'<li>'.&mt('The domain has been configured to disable, by default, personal information page functionality for all users in the domain.').'</li>'.
'</ul>');
- $r->print(&Apache::loncommon::end_page());
+ $r->print('</div>'.&Apache::loncommon::end_page());
}
return OK;
}
@@ -189,9 +190,10 @@
my $start_page = &Apache::loncommon::start_page(
"Course Information",undef,$args);
$r->print($start_page);
+ $r->print("\n".'<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
$r->print('<h2>'.&mt('Group Portfolio').'</h2>');
&print_portfiles_link($r,$is_course);
- $r->print(&Apache::loncommon::end_page());
+ $r->print('</div>'.&Apache::loncommon::end_page());
}
return OK;
}
@@ -257,7 +259,8 @@
if ($target eq 'tex') {
$r->print('\noindent{\large\textbf{'.&mt('No user personal information page available').'}}\\\\\\\\');
} else {
- $r->print($blocktext);
+ $r->print("\n".'<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
+ $r->print($blocktext.'</div>');
}
$r->print(&Apache::loncommon::end_page());
return OK;
@@ -266,6 +269,7 @@
#----------------Print Privacy note (edit mode) or last modified date.
if ($target ne 'tex') {
+ $r->print("\n".'<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
#Print Privacy Note
if ($allowed) {
$r->print('<div class="LC_info">'
@@ -435,7 +439,7 @@
if ($env{'form.popup'}) {
$r->print('<p><a href="javascript:window.close()">'.&mt('Close window').'</a></p>');
}
- $r->print(&Apache::loncommon::end_page());
+ $r->print('</div>'.&Apache::loncommon::end_page());
} else {
$r->print('\end{document}');
}
@@ -558,6 +562,7 @@
$args->{bread_crumbs} = $brcrum;
}
$output = &Apache::loncommon::start_page('Viewable group portfolio files',undef,$args).
+ "\n".'<div class="LC_landmark" role="main" id="LC_main_content">'."\n".
'<h3>'.&mt('Group Portfolio files').'</h3>';
} else {
if ($env{'request.course.id'} && $env{'form.register'}) {
@@ -577,6 +582,7 @@
$output =
&Apache::loncommon::start_page('Viewable portfolio files',
undef,$args).
+ "\n".'<div class="LC_landmark" role="main" id="LC_main_content">'."\n".
'<h3>'.&mt('Portfolio files for [_1]',$name).'</h3>';
}
$r->print($output);
Index: loncom/interface/lonblockingmenu.pm
diff -u loncom/interface/lonblockingmenu.pm:1.32 loncom/interface/lonblockingmenu.pm:1.33
--- loncom/interface/lonblockingmenu.pm:1.32 Tue Dec 31 19:28:29 2024
+++ loncom/interface/lonblockingmenu.pm Sat Dec 13 05:56:01 2025
@@ -2,7 +2,7 @@
# Routines for configuring blocking of access to collaborative functions,
# and specific resources during an exam
#
-# $Id: lonblockingmenu.pm,v 1.32 2024/12/31 19:28:29 raeburn Exp $
+# $Id: lonblockingmenu.pm,v 1.33 2025/12/13 05:56:01 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -567,8 +567,8 @@
$r->print(
&Apache::loncommon::start_page('Blocking communication/content access',$js).
- &Apache::lonhtmlcommon::breadcrumbs('Blocking communication/content access'));
-
+ &Apache::lonhtmlcommon::breadcrumbs('Blocking communication/content access')."\n".
+ '<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
my $usertype;
if ($crstype eq 'Community') {
$usertype = 'members';
@@ -690,7 +690,7 @@
<input type ="submit" value="$lt{'stor'}" />
END
}
- $r->print('</form>'.
+ $r->print('</form></div>'.
&Apache::loncommon::end_page());
return OK;
}
Index: loncom/interface/loncommon.pm
diff -u loncom/interface/loncommon.pm:1.1487 loncom/interface/loncommon.pm:1.1488
--- loncom/interface/loncommon.pm:1.1487 Tue Dec 9 02:29:03 2025
+++ loncom/interface/loncommon.pm Sat Dec 13 05:56:01 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common routines
#
-# $Id: loncommon.pm,v 1.1487 2025/12/09 02:29:03 raeburn Exp $
+# $Id: loncommon.pm,v 1.1488 2025/12/13 05:56:01 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -5359,7 +5359,7 @@
$userview=~s/\<\/html\>//gi;
$userview=~s/\<head\>//gi;
$userview=~s/\<\/head\>//gi;
- $userview=~s/\Q<div class="LC_landmark" role="main"\E/<div class="LC_landmark"/;
+ $userview=~s/\Q<div class="LC_landmark" role="main" id="LC_main_content"\E/<div class="LC_landmark"/;
$userview=~s/action\s*\=/would_be_action\=/gi;
$userview=&relative_to_absolute($feedurl,$userview);
if (wantarray) {
@@ -6990,7 +6990,9 @@
# construct main body tag
my $bodytag = "<body $extra_body_attr>".
- &Apache::lontexconvert::init_math_support();
+ &Apache::lontexconvert::init_math_support().
+ '<a href="#LC_main_content" class="LC_skip-to-main-content-link">'.
+ &mt('Skip to main content').'</a>';
&get_unprocessed_cgi($ENV{'QUERY_STRING'}, ['inhibitmenu']);
@@ -7526,6 +7528,24 @@
display: inline;
}
+.LC_skip-to-main-content-link {
+ position: absolute;
+ left: -9999px;
+ z-index: 999;
+ padding: 1em;
+ font-size: 1.2em;
+ font-weight: bold;
+ background-color: $pgbg_or_bgcolor;
+ color: $font;
+ opacity: 0;
+}
+
+.LC_skip-to-main-content-link:focus {
+ left: 0%;
+ transform: translateX(0%);
+ opacity: 1;
+}
+
.LC_heading_2 {
font-size: 1.17em;
}
@@ -11158,7 +11178,7 @@
my $page =
&Apache::loncommon::start_page($title,'',\%displayargs)."\n".
- '<div class="LC_landmark" style="clear:both" role="main">'.
+ '<div class="LC_landmark" style="clear:both" role="main" id="LC_main_content">'.
'<p class="LC_error">'.$msg.'</p>'.
'</div>'.
&Apache::loncommon::end_page();
@@ -19387,7 +19407,8 @@
sub check_release_result {
my ($switchwarning,$switchserver) = @_;
my $output = &start_page('Selected course unavailable on this server').
- '<div class="LC_landmark" role="main"><p class="LC_warning">';
+ '<div class="LC_landmark" role="main" id="LC_main_content">'.
+ '<p class="LC_warning">';
if ($switchwarning) {
$output .= $switchwarning.'<br /><a href="/adm/roles">';
if (&show_course()) {
Index: loncom/interface/lonconfigsettings.pm
diff -u loncom/interface/lonconfigsettings.pm:1.76 loncom/interface/lonconfigsettings.pm:1.77
--- loncom/interface/lonconfigsettings.pm:1.76 Tue Dec 9 02:29:03 2025
+++ loncom/interface/lonconfigsettings.pm Sat Dec 13 05:56:01 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set domain-wide configuration settings
#
-# $Id: lonconfigsettings.pm,v 1.76 2025/12/09 02:29:03 raeburn Exp $
+# $Id: lonconfigsettings.pm,v 1.77 2025/12/13 05:56:01 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -415,6 +415,7 @@
$r->print(&Apache::loncommon::start_page($pagetitle,$js,$additem));
$r->print(&Apache::lonhtmlcommon::breadcrumbs($brcrumtitle));
$r->print('
+<div class="LC_landmark" role="main" id="LC_main_content">
<form name="parmform" action="">
<input type="hidden" name="pres_marker" />
<input type="hidden" name="pres_type" />
@@ -591,7 +592,7 @@
if ($container) {
&Apache::lonparmset::endSettingsScreen($r);
}
- $r->print(&Apache::loncommon::end_page());
+ $r->print('</div>'.&Apache::loncommon::end_page());
}
return;
}
@@ -795,7 +796,7 @@
if ($container) {
&Apache::lonparmset::endSettingsScreen($r);
}
- $r->print(&Apache::loncommon::end_page());
+ $r->print('</div>'.&Apache::loncommon::end_page());
return;
}
@@ -860,7 +861,7 @@
if ($container) {
&Apache::lonparmset::endSettingsScreen($r);
}
- $r->print(&Apache::loncommon::end_page());
+ $r->print('</div>'.&Apache::loncommon::end_page());
return;
}
Index: loncom/interface/loncoursegroups.pm
diff -u loncom/interface/loncoursegroups.pm:1.132 loncom/interface/loncoursegroups.pm:1.133
--- loncom/interface/loncoursegroups.pm:1.132 Sat Jul 29 20:33:25 2023
+++ loncom/interface/loncoursegroups.pm Sat Dec 13 05:56:01 2025
@@ -1,6 +1,6 @@
# The LearningOnline Network with CAPA
#
-# $Id: loncoursegroups.pm,v 1.132 2023/07/29 20:33:25 raeburn Exp $
+# $Id: loncoursegroups.pm,v 1.133 2025/12/13 05:56:01 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -1527,6 +1527,7 @@
{'add_entries' => $loaditems,});
my $output = <<"END";
$start_page
+<div class="LC_landmark" role="main" id="LC_main_content">
<form method="post" name="$state" action="">
END
@@ -1566,6 +1567,7 @@
return(<<ENDFOOT);
<input type="hidden" name="sortby" value="$env{'form.sortby'}" />
</form>
+ </div>
$end_page
ENDFOOT
}
Index: loncom/interface/loncourserespicker.pm
diff -u loncom/interface/loncourserespicker.pm:1.21 loncom/interface/loncourserespicker.pm:1.22
--- loncom/interface/loncourserespicker.pm:1.21 Thu Dec 26 17:12:36 2024
+++ loncom/interface/loncourserespicker.pm Sat Dec 13 05:56:01 2025
@@ -1,6 +1,6 @@
# The LearningOnline Network
#
-# $Id: loncourserespicker.pm,v 1.21 2024/12/26 17:12:36 raeburn Exp $
+# $Id: loncourserespicker.pm,v 1.22 2025/12/13 05:56:01 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -984,12 +984,14 @@
my $outcome;
if (!defined($navmap)) {
if ($context eq 'imsexport') {
- $outcome = &Apache::loncommon::start_page('Export '.$crstype.' to IMS Package').
- '<h2>'.&mt('IMS Export Failed').'</h2>';
+ $outcome = &Apache::loncommon::start_page('Export '.$crstype.' to IMS Package')."\n".
+ '<div class="LC_landmark" role="main" id="LC_main_content">'."\n".
+ '<h2>'.&mt('IMS Export Failed').'</h2>';
} elsif ($context eq 'examblock') {
$outcome = &Apache::loncommon::start_page('Selection of Resources for Blocking',
- undef,{'only_body' => 1,}).
- '<h2>'.&mt('Resource Display Failed').'</h2>';
+ undef,{'only_body' => 1,})."\n".
+ '<div class="LC_landmark" role="main" id="LC_main_content">'."\n".
+ '<h2>'.&mt('Resource Display Failed').'</h2>';
} elsif ($context eq 'dumpdocs') {
$outcome = '<h2>'.&mt('Copying to Authoring Space unavailable').'</h2>';
} elsif ($context eq 'shorturls') {
Index: loncom/interface/loncreatecourse.pm
diff -u loncom/interface/loncreatecourse.pm:1.178 loncom/interface/loncreatecourse.pm:1.179
--- loncom/interface/loncreatecourse.pm:1.178 Tue Mar 18 18:57:28 2025
+++ loncom/interface/loncreatecourse.pm Sat Dec 13 05:56:01 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Create a course
#
-# $Id: loncreatecourse.pm,v 1.178 2025/03/18 18:57:28 raeburn Exp $
+# $Id: loncreatecourse.pm,v 1.179 2025/12/13 05:56:01 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -909,7 +909,9 @@
$r->print(
$start_page
.$crumbs
+ .'<div class="LC_landmark" role="main" id="LC_main_content">'
.&Apache::lonhtmlcommon::generate_menu(@menu)
+ .'</div>'
.$end_page
);
}
Index: loncom/interface/loncreateuser.pm
diff -u loncom/interface/loncreateuser.pm:1.486 loncom/interface/loncreateuser.pm:1.487
--- loncom/interface/loncreateuser.pm:1.486 Mon Dec 1 06:23:49 2025
+++ loncom/interface/loncreateuser.pm Sat Dec 13 05:56:01 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Create a user
#
-# $Id: loncreateuser.pm,v 1.486 2025/12/01 06:23:49 raeburn Exp $
+# $Id: loncreateuser.pm,v 1.487 2025/12/13 05:56:01 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -957,6 +957,7 @@
bread_crumbs_component => 'User Management',
add_entries => \%loaditems,};
$r->print(&Apache::loncommon::start_page('User Management',$jscript,$args));
+ $r->print("\n".'<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
my %lt=&Apache::lonlocal::texthash(
'srst' => 'Search for a user and enroll as a student',
@@ -1287,6 +1288,7 @@
help => $helpitem}
);
$r->print(&Apache::loncommon::start_page('User Management',$jscript,{bread_crumbs => $brcrum}));
+ $r->print("\n".'<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
if ($env{'form.action'} eq 'singleuser') {
my $readonly;
if (($context eq 'domain') && (!&Apache::lonnet::allowed('mau',$srch->{'srchdomain'}))) {
@@ -1561,7 +1563,6 @@
}
my $start_page =
&Apache::loncommon::start_page('User Management',$js,$args);
-
my $forminfo =<<"ENDFORMINFO";
<form action="/adm/createuser" method="post" name="$formname">
<input type="hidden" name="phase" value="update_user_data" />
@@ -1631,6 +1632,7 @@
);
$r->print(<<ENDTITLE);
$start_page
+<div class="LC_landmark" role="main" id="LC_main_content">
$response
$forminfo
<script type="text/javascript" language="Javascript">
@@ -1742,7 +1744,9 @@
}
$r->print('</div><div class="LC_clear_float_footer"></div>');
} else { # user already exists
- $r->print($start_page.$forminfo);
+ $r->print($start_page."\n".
+ '<div class="LC_landmark" role="main" id="LC_main_content">'."\n".
+ $forminfo);
if ($env{'form.action'} eq 'singlestudent') {
if ($crstype eq 'Community') {
$title = &mt('Enroll one member: [_1] in domain [_2]',
@@ -3146,8 +3150,7 @@
my $end = '</span><br /><br />';
my $rtnlink = '<a href="javascript:backPage(document.userupdate,'.
"'$env{'form.prevphase'}','modify')".'" />'.
- &mt('Return to previous page').'</a>'.
- &Apache::loncommon::end_page();
+ &mt('Return to previous page').'</a>');
my $now = time;
my $title;
if (exists($env{'form.makeuser'})) {
@@ -3200,6 +3203,7 @@
$args->{'no_nav_bar'} = 1;
}
$r->print(&Apache::loncommon::start_page($title,$jscript,$args));
+ $r->print("\n".'<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
$r->print(&update_result_form($uhome));
# Check Inputs
if (! $env{'form.ccuname'} ) {
@@ -3266,8 +3270,8 @@
# If they are creating a new user but have not specified login
# information this will be caught below.
} else {
- $r->print($error.&mt('Invalid login mode or password').$end.$rtnlink);
- return;
+ $r->print($error.&mt('Invalid login mode or password').$end.$rtnlink);
+ return;
}
$r->print('<h3>'.&mt('User [_1] in domain [_2]',
@@ -3290,7 +3294,7 @@
$r->print('<h3>'.&mt('Creating new account.').'</h3>');
# Check for the authentication mode and password
if (! $amode || ! $genpwd) {
- $r->print($error.&mt('Invalid login mode or password').$end.$rtnlink);
+ $r->print($error.&mt('Invalid login mode or password').$end.$rtnlink);
return;
}
# Determine desired host
@@ -3443,7 +3447,7 @@
($env{'form.login'} ne '' )) {
# Modify user privileges
if (! $amode || ! $genpwd) {
- $r->print($error.'Invalid login mode or password'.$end.$rtnlink);
+ $r->print($error.'Invalid login mode or password'.$end.$rtnlink);
return;
}
# Only allow authentication modification if the person has authority
@@ -4092,6 +4096,7 @@
'<a href="javascript:backPage(document.userupdate)">'.&mt('Create/Modify Another User').'</a>']));
}
}
+ return;
}
sub display_userinfo {
@@ -5437,6 +5442,7 @@
$r->print(&Apache::loncommon::start_page('Custom Role Editor',
$head_script,$args).
$body_top);
+ $r->print("\n".'<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
$r->print('<form name="'.$formname.'" method="post" action="">'."\n".
&Apache::lonuserutils::custom_role_header($context,$crstype,
\@templateroles,$prefix));
@@ -5492,7 +5498,7 @@
my $args = { bread_crumbs => $brcrum,
bread_crumbs_component => 'User Management'};
$r->print(&Apache::loncommon::start_page('Save Custom Role',$jscript,$args));
-
+ $r->print("\n".'<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
my $newrole;
my ($rdummy,$roledef)=
&Apache::lonnet::get('roles',["rolesdef_$rolename"]);
@@ -6548,7 +6554,7 @@
$r->print(&header(undef,$args));
$r->print(&print_main_menu($permission,$context,$crstype));
}
- $r->print(&Apache::loncommon::end_page());
+ $r->print('</div>'.&Apache::loncommon::end_page());
return OK;
}
@@ -6560,6 +6566,7 @@
} else {
$start_page=&Apache::loncommon::start_page('User Management',$jscript);
}
+ $start_page .= "\n".'<div class="LC_landmark" role="main" id="LC_main_content">'."\n";
return $start_page;
}
Index: loncom/interface/londocs.pm
diff -u loncom/interface/londocs.pm:1.730 loncom/interface/londocs.pm:1.731
--- loncom/interface/londocs.pm:1.730 Thu Aug 14 01:32:03 2025
+++ loncom/interface/londocs.pm Sat Dec 13 05:56:01 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Documents
#
-# $Id: londocs.pm,v 1.730 2025/08/14 01:32:03 raeburn Exp $
+# $Id: londocs.pm,v 1.731 2025/12/13 05:56:01 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -1271,7 +1271,7 @@
'<div style="padding:0;clear:both;margin:0;border:0"></div>'."\n";
my $display = '<form name="'.$formname.'" action="" method="post" onsubmit="return validCrsCopy();">'."\n".
$preamble."\n".
- '<div class="LC_float_left">'."\n".
+ '<div class="LC_left_float">'."\n".
'<fieldset>'."\n".
'<legend>'.&mt('Content to copy').(' 'x4).$togglebuttons.'</legend>'."\n".
'<span class="LC_fontsize_medium">'.
@@ -6707,7 +6707,7 @@
sub startContentScreen {
my ($mode) = @_;
- my $output = '<div class="LC_landmark" role="main">'.
+ my $output = '<div class="LC_landmark" role="main" id="LC_main_content">'.
'<ul class="LC_TabContentBigger" id="mainnav">';
if (($mode eq 'navmaps') || ($mode eq 'supplemental')) {
$output .= '<li'.(($mode eq 'navmaps')?' class="active"':'').'><a href="/adm/navmaps"><b> '.&mt('Content Overview').' </b></a></li>'."\n";
Index: loncom/interface/lonhelper.pm
diff -u loncom/interface/lonhelper.pm:1.204 loncom/interface/lonhelper.pm:1.205
--- loncom/interface/lonhelper.pm:1.204 Mon Jun 27 20:35:51 2022
+++ loncom/interface/lonhelper.pm Sat Dec 13 05:56:01 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# .helper XML handler to implement the LON-CAPA helper
#
-# $Id: lonhelper.pm,v 1.204 2022/06/27 20:35:51 raeburn Exp $
+# $Id: lonhelper.pm,v 1.205 2025/12/13 05:56:01 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -607,7 +607,8 @@
$result .= &Apache::loncommon::start_page($self->{TITLE},
$browser_searcher_js,
- {'bread_crumbs' => $brcrum,});
+ {'bread_crumbs' => $brcrum,}).
+ "\n".'<div class="LC_landmark" role="main" id="LC_main_content">'."\n";
my $previous = HTML::Entities::encode(&mt("Back"), '<>&"');
my $next = HTML::Entities::encode(&mt("Next"), '<>&"');
@@ -667,6 +668,7 @@
$result .= <<FOOTER;
</form>
+ </div>
FOOTER
$result .= $footer.&Apache::loncommon::end_page();
Index: loncom/interface/lonhelpmenu.pm
diff -u loncom/interface/lonhelpmenu.pm:1.51 loncom/interface/lonhelpmenu.pm:1.52
--- loncom/interface/lonhelpmenu.pm:1.51 Thu Nov 27 21:19:07 2025
+++ loncom/interface/lonhelpmenu.pm Sat Dec 13 05:56:01 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# generate frame-based help system
#
-# $Id: lonhelpmenu.pm,v 1.51 2025/11/27 21:19:07 raeburn Exp $
+# $Id: lonhelpmenu.pm,v 1.52 2025/12/13 05:56:01 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -156,7 +156,7 @@
{'only_body' => 1,}));
}
my $menu = &helpmenu_items($dom,$faq,$bug,$topic,$component_url,$origurl,$bugurl,$faqbaseurl,$requestmail,$stayOnPage);
- $r->print('<div class="LC_landmark" role="main">'."\n");
+ $r->print("\n".'<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
if ($menu) {
$r->print("<ul id=\"LC_secondary_menu\">$menu</ul>");
}
Index: loncom/interface/lonhelp.pm
diff -u loncom/interface/lonhelp.pm:1.50 loncom/interface/lonhelp.pm:1.51
--- loncom/interface/lonhelp.pm:1.50 Fri Feb 21 21:28:48 2025
+++ loncom/interface/lonhelp.pm Sat Dec 13 05:56:01 2025
@@ -1,6 +1,6 @@
# The LearningOnline Network with CAPA
#
-# $Id: lonhelp.pm,v 1.50 2025/02/21 21:28:48 raeburn Exp $
+# $Id: lonhelp.pm,v 1.51 2025/12/13 05:56:01 raeburn Exp $
#
# .tex help system web server handler
#
@@ -84,7 +84,7 @@
<h1 style="font-family: Verdana,Arial,Helvetica,sans-serif; font-size: 1.17em;">
<img align="right" alt="help logo" src="/adm/help/gif/lonhelpheader.gif" />
$goback$lt{'header'}</h1><hr /></div>
- <div class="LC_landmark" role="main">
+ <div class="LC_landmark" role="main" id="LC_main_content">
<!-- BEGIN -->
HEADER
if ($is_mobile) {
Index: loncom/interface/lonmainmenu.pm
diff -u loncom/interface/lonmainmenu.pm:1.14 loncom/interface/lonmainmenu.pm:1.15
--- loncom/interface/lonmainmenu.pm:1.14 Tue Mar 25 01:02:59 2025
+++ loncom/interface/lonmainmenu.pm Sat Dec 13 05:56:01 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# displays the main menu
#
-# $Id: lonmainmenu.pm,v 1.14 2025/03/25 01:02:59 raeburn Exp $
+# $Id: lonmainmenu.pm,v 1.15 2025/12/13 05:56:01 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -103,7 +103,7 @@
}
$r->print(&Apache::loncommon::start_page( 'Main Menu',$js,$args).
- '<div class="LC_landmark" role="main">');
+ '<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
#
# If menu collection is in effect in course context, and Main Menu is
# not included, display message in place of usual menu items.
Index: loncom/interface/lonmodifycourse.pm
diff -u loncom/interface/lonmodifycourse.pm:1.107 loncom/interface/lonmodifycourse.pm:1.108
--- loncom/interface/lonmodifycourse.pm:1.107 Fri Dec 20 00:24:38 2024
+++ loncom/interface/lonmodifycourse.pm Sat Dec 13 05:56:01 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# handler for DC-only modifiable course settings
#
-# $Id: lonmodifycourse.pm,v 1.107 2024/12/20 00:24:38 raeburn Exp $
+# $Id: lonmodifycourse.pm,v 1.108 2025/12/13 05:56:01 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -2922,12 +2922,13 @@
}
}
$r->print(&Apache::lonhtmlcommon::breadcrumbs($bread_text,$helpcomponent));
+ $r->print("\n".'<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
return;
}
sub print_footer {
my ($r) = @_;
- $r->print('<br />'.&Apache::loncommon::end_page());
+ $r->print('<br /></div>'.&Apache::loncommon::end_page());
return;
}
Index: loncom/interface/lonmsgdisplay.pm
diff -u loncom/interface/lonmsgdisplay.pm:1.204 loncom/interface/lonmsgdisplay.pm:1.205
--- loncom/interface/lonmsgdisplay.pm:1.204 Fri Jun 20 17:00:27 2025
+++ loncom/interface/lonmsgdisplay.pm Sat Dec 13 05:56:01 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Routines for messaging display
#
-# $Id: lonmsgdisplay.pm,v 1.204 2025/06/20 17:00:27 raeburn Exp $
+# $Id: lonmsgdisplay.pm,v 1.205 2025/12/13 05:56:01 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -804,7 +804,7 @@
$groupheader .= &Apache::lonhtmlcommon::breadcrumbs(
&mt('Group messages - [_1]',$description),
undef,undef,undef,undef,1);
- return $groupheader.'<div class="LC_landmark" role="main">';
+ return $groupheader.'<div class="LC_landmark" role="main" id="LC_main_content">';
}
sub groupmail_sent {
@@ -1360,7 +1360,7 @@
}
$r->print(&Apache::loncommon::start_page('Messages'));
$r->print(&Apache::lonhtmlcommon::breadcrumbs('Send and display messages'));
- $r->print('<div class="LC_landmark" role="main"><p class="LC_warning">'.
+ $r->print('<div class="LC_landmark" role="main" id="LC_main_content"><p class="LC_warning">'.
&mt('Sending of LON-CAPA messages is blocked for your current IP address: [_1].',$clientip).'</p>'.
'<ul><li>'.
&mt('Note: communication is being blocked for certain IP address(es).').
@@ -2759,7 +2759,7 @@
$extra));
$r->print(&Apache::lonhtmlcommon::breadcrumbs
(($title?$title:'Send and display messages')).
- '<div class="LC_landmark" role="main">');
+ '<div class="LC_landmark" role="main" id="LC_main_content">');
}
# ---------------------------------------------------------------- Print header
Index: loncom/interface/lonnavdisplay.pm
diff -u loncom/interface/lonnavdisplay.pm:1.49 loncom/interface/lonnavdisplay.pm:1.50
--- loncom/interface/lonnavdisplay.pm:1.49 Fri Aug 8 17:13:16 2025
+++ loncom/interface/lonnavdisplay.pm Sat Dec 13 05:56:01 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Navigate Maps Display Handler
#
-# $Id: lonnavdisplay.pm,v 1.49 2025/08/08 17:13:16 raeburn Exp $
+# $Id: lonnavdisplay.pm,v 1.50 2025/12/13 05:56:01 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -468,7 +468,7 @@
sub startContentScreen {
my ($r,$mode,$course_type)=@_;
- $r->print("\n".'<div class="LC_landmark" role="main">'.
+ $r->print("\n".'<div class="LC_landmark" role="main" id="LC_main_content">'."\n".
'<ul class="LC_TabContentBigger" id="mainnav">'."\n");
$r->print('<li'.(($mode eq 'navmaps')?' class="active"':'').'><a href="/adm/navmaps"><b> '.&mt('Main Content').' </b></a></li>'."\n");
my $supptab;
Index: loncom/interface/lonnotify.pm
diff -u loncom/interface/lonnotify.pm:1.44 loncom/interface/lonnotify.pm:1.45
--- loncom/interface/lonnotify.pm:1.44 Sat Mar 6 13:41:46 2021
+++ loncom/interface/lonnotify.pm Sat Dec 13 05:56:01 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Sending messages
#
-# $Id: lonnotify.pm,v 1.44 2021/03/06 13:41:46 raeburn Exp $
+# $Id: lonnotify.pm,v 1.45 2025/12/13 05:56:01 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -117,6 +117,7 @@
my $output = <<"ENDONE";
$start_page
$breadcrumbs
+<div class="LC_landmark" role="main" id="LC_main_content">
<br />
<form name="$formname" method="post" action="">
ENDONE
@@ -125,7 +126,7 @@
}
sub end_page {
- return '</form>'.&Apache::loncommon::end_page();
+ return '</form></div>'.&Apache::loncommon::end_page();
}
sub print_front_page {
Index: loncom/interface/lonparmset.pm
diff -u loncom/interface/lonparmset.pm:1.630 loncom/interface/lonparmset.pm:1.631
--- loncom/interface/lonparmset.pm:1.630 Tue Sep 23 15:19:05 2025
+++ loncom/interface/lonparmset.pm Sat Dec 13 05:56:01 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set parameters for assessments
#
-# $Id: lonparmset.pm,v 1.630 2025/09/23 15:19:05 raeburn Exp $
+# $Id: lonparmset.pm,v 1.631 2025/12/13 05:56:01 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -349,7 +349,8 @@
my $tabtext = &mt('Course Settings');
if ($crstype eq 'Community') {
$tabtext = &mt('Community Settings');
- }
+ }
+ $r->print("\n".'<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
$r->print("\n".'<ul class="LC_TabContentBigger" id="main">');
$r->print("\n".'<li'.($mode eq 'coursepref'?' class="active"':'').'><a href="/adm/courseprefs"><b> '.
$tabtext.
@@ -364,7 +365,7 @@
# Page footer
sub endSettingsScreen {
my ($r)=@_;
- $r->print('</div></div></div>');
+ $r->print('</div></div></div></div>');
}
@@ -7163,7 +7164,7 @@
url => '/adm/parmset?action=setrestrictmeta',
permission => $parm_permission->{'setrestrictmeta'},
linktitle => "Restrict metadata for this $lc_crstype." ,
- icon =>'contact-new.png' ,
+ icon =>'contact-new.png',
},
{ linktext => 'Reset Student Access Times',
url => '/adm/helper/resettimes.helper',
Index: loncom/interface/lonpreferences.pm
diff -u loncom/interface/lonpreferences.pm:1.249 loncom/interface/lonpreferences.pm:1.250
--- loncom/interface/lonpreferences.pm:1.249 Sat Aug 9 00:17:30 2025
+++ loncom/interface/lonpreferences.pm Sat Dec 13 05:56:01 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Preferences
#
-# $Id: lonpreferences.pm,v 1.249 2025/08/09 00:17:30 raeburn Exp $
+# $Id: lonpreferences.pm,v 1.250 2025/12/13 05:56:01 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -104,7 +104,7 @@
text => 'Change Language'});
$r->print(Apache::loncommon::start_page('Content Display Settings'));
$r->print(Apache::lonhtmlcommon::breadcrumbs('Change Language').
- '<div class="LC_landmark" role="main">');
+ '<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
my %userenv = &Apache::lonnet::get('environment',['languages']);
my $language=$userenv{'languages'};
@@ -298,7 +298,7 @@
text => $brtext});
$r->print(Apache::loncommon::start_page('Content Display Settings'));
$r->print(Apache::lonhtmlcommon::breadcrumbs($brtitle).
- '<div class="LC_landmark" role="main">');
+ '<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
my $hotlist_flag=$userenv{'recentroles'};
my $hotlist_n=$userenv{'recentrolesn'};
my ($checkedon,$checkedoff);
@@ -514,7 +514,7 @@
text => 'Change Screen Name'});
$r->print(Apache::loncommon::start_page('Personal Data'));
$r->print(Apache::lonhtmlcommon::breadcrumbs('Change Screen Name'));
- $r->print('<div class="LC_landmark" role="main">');
+ $r->print('<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
my $caption = &mt('Name displayed in posts you make').':';
$r->print('<form name="prefs" action="/adm/preferences" method="post">'
.'<p><input type="hidden" name="action" value="verify_and_change_screenname" />'
@@ -578,7 +578,7 @@
text => 'Change Menu Display'});
$r->print(Apache::loncommon::start_page('Page Display Settings'));
$r->print(Apache::lonhtmlcommon::breadcrumbs('Change Menu Display').
- '<div class="LC_landmark" role="main">');
+ '<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
my $user = $env{'user.name'};
my $domain = $env{'user.domain'};
@@ -685,7 +685,7 @@
text => 'Register Clicker'});
$r->print(Apache::loncommon::start_page('Other'));
$r->print(Apache::lonhtmlcommon::breadcrumbs('Register Clicker').
- '<div class="LC_landmark" role="main">');
+ '<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
my $user = $env{'user.name'};
my $domain = $env{'user.domain'};
my %userenv = &Apache::lonnet::get
@@ -896,7 +896,7 @@
text => 'Messages & Notifications'});
$r->print(Apache::loncommon::start_page('Messages & Notifications'));
$r->print(Apache::lonhtmlcommon::breadcrumbs('Messages & Notifications').
- '<div class="LC_landmark" role="main">');
+ '<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
my $forwardingHelp = &Apache::loncommon::help_open_topic("Prefs_Forwarding");
my $notificationHelp = &Apache::loncommon::help_open_topic("Prefs_Notification");
my $criticalMessageHelp = &Apache::loncommon::help_open_topic("Course_Critical_Message");
@@ -1210,7 +1210,7 @@
text => 'Change Colors'});
$r->print(Apache::loncommon::start_page('Page Display Settings'));
$r->print(Apache::lonhtmlcommon::breadcrumbs('Change Colors').
- '<div class="LC_landmark" role="main">');
+ '<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
# figure out colors
my $function=&Apache::loncommon::get_users_function();
my $domain=&Apache::loncommon::determinedomain();
@@ -1332,7 +1332,7 @@
unless ($caller eq 'reset_by_email') {
$r->print(Apache::loncommon::start_page('Personal Data'));
$r->print(Apache::lonhtmlcommon::breadcrumbs('Change Password').
- '<div class="LC_landmark" role="main">');
+ '<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
}
if ((!defined($caller)) || ($caller eq 'preferences')) {
$user = $env{'user.name'};
@@ -1916,7 +1916,7 @@
text => 'Change Discussion Preferences'});
$r->print(Apache::loncommon::start_page('Change Discussion Preferences'));
$r->print(Apache::lonhtmlcommon::breadcrumbs('Change Discussion Preferences').
- '<div class="LC_landmark" role="main">');
+ '<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
my $user = $env{'user.name'};
my $domain = $env{'user.domain'};
my %userenv = &Apache::lonnet::get
@@ -2584,7 +2584,7 @@
text => 'Set Your Time Zone'});
$r->print(Apache::loncommon::start_page('Set Your Time Zone',$js,$args));
$r->print(Apache::lonhtmlcommon::breadcrumbs('Set Your Time Zone').
- '<div class="LC_landmark" role="main">');
+ '<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
my %userenv = &Apache::lonnet::get('environment',['timezone']);
my $timezone = $userenv{'timezone'};
my %lt = &Apache::lonlocal::texthash(
@@ -2870,7 +2870,7 @@
$r->print(&Apache::loncommon::start_page('My Space'));
$r->print(Apache::lonhtmlcommon::breadcrumbs('Change Preferences'));
- $r->print('<div class="LC_landmark" role="main">'."\n".$message);
+ $r->print('<div class="LC_landmark" role="main" id="LC_main_content">'."\n".$message);
$r->print(Apache::lonhtmlcommon::generate_menu(@menu)."\n".'</div>');
$r->print(Apache::loncommon::end_page());
}
Index: loncom/interface/lonquickgrades.pm
diff -u loncom/interface/lonquickgrades.pm:1.130 loncom/interface/lonquickgrades.pm:1.131
--- loncom/interface/lonquickgrades.pm:1.130 Wed Aug 6 19:01:23 2025
+++ loncom/interface/lonquickgrades.pm Sat Dec 13 05:56:01 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Quick Student Grades Display
#
-# $Id: lonquickgrades.pm,v 1.130 2025/08/06 19:01:23 raeburn Exp $
+# $Id: lonquickgrades.pm,v 1.131 2025/12/13 05:56:01 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -430,7 +430,7 @@
$r->print(&Apache::loncommon::head_subbox(join(' ', at notes)));
}
-
+ $r->print("\n".'<div class="LC_landmark" role="main" id="LC_main_content">');
$r->print("\n".'<ul class="LC_TabContentBigger" id="main">');
$r->print("\n".'<li'.($mode eq 'quick'?' class="active"':'').'><a href="/adm/quickgrades"><b> '.
($showPoints?&mt('Individual Points Overview'):($showCategories?&mt('Grades Overview'):&mt('Completion Overview'))).
@@ -465,7 +465,7 @@
sub endGradeScreen {
my ($r)=@_;
- $r->print('</div></div></div>'.&Apache::loncommon::end_page());
+ $r->print('</div></div></div></div>'.&Apache::loncommon::end_page());
return;
}
Index: loncom/interface/lonrss.pm
diff -u loncom/interface/lonrss.pm:1.65 loncom/interface/lonrss.pm:1.66
--- loncom/interface/lonrss.pm:1.65 Mon Mar 17 00:25:51 2025
+++ loncom/interface/lonrss.pm Sat Dec 13 05:56:01 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network
# RSS Feeder
#
-# $Id: lonrss.pm,v 1.65 2025/03/17 00:25:51 raeburn Exp $
+# $Id: lonrss.pm,v 1.66 2025/12/13 05:56:01 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -376,7 +376,7 @@
'domain' => $udom,
'force_register' => $env{'form.register'}}).
&changed_js().
- '<div class="LC_landmark" role="main">');
+ '<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
} else { # render RSS
my $server = &Apache::lonnet::absolute_url();
$r->print("<rss version='2.0' xmlns:dc='http://purl.org/dc/elements/1.1'>\n<channel>".
Index: loncom/interface/lonsearchcat.pm
diff -u loncom/interface/lonsearchcat.pm:1.364 loncom/interface/lonsearchcat.pm:1.365
--- loncom/interface/lonsearchcat.pm:1.364 Wed Mar 19 15:44:44 2025
+++ loncom/interface/lonsearchcat.pm Sat Dec 13 05:56:01 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Search Catalog
#
-# $Id: lonsearchcat.pm,v 1.364 2025/03/19 15:44:44 raeburn Exp $
+# $Id: lonsearchcat.pm,v 1.365 2025/12/13 05:56:01 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -506,7 +506,7 @@
=pod
=over 4
-
+
=item &print_basic_search_form()
Prints the form for the basic search. Sorry the name is so cryptic.
@@ -527,7 +527,7 @@
&Apache::lonhtmlcommon::breadcrumbs('Searching','Search_Basic',
$env{'form.catalogmode'} ne 'import');
my $scrout = &Apache::loncommon::start_page('Content Library').$bread_crumb.
- '<div class="LC_landmark" role="main">'."\n".
+ '<div class="LC_landmark" role="main" id="LC_main_content">'."\n".
&start_search_tabs();
if (&Apache::lonnet::allowed('bre',$env{'request.role.domain'}) eq 'F') {
if ($env{'form.area'} eq 'portfolio') {
@@ -580,7 +580,7 @@
} else {
$singledom = $env{'user.domain'};
$disabled = ' disabled="disabled"';
- $checked = 1;
+ $checked = 1;
}
$onlysearchdomain = '<label>'
.&Apache::lonhtmlcommon::checkbox(
@@ -684,7 +684,7 @@
}
my $scrout= &Apache::loncommon::start_page("Advanced $srchtype Search",
$jscript);
- $scrout .= $bread_crumb.'<div class="LC_landmark" role="main">'."\n".
+ $scrout .= $bread_crumb.'<div class="LC_landmark" role="main" id="LC_main_content">'."\n".
&start_search_tabs();
$scrout .= '<form method="post" action="/adm/searchcat" name="advsearch">'
@@ -761,7 +761,7 @@
my $anydomain = 1;
if ($env{'form.area'} ne 'portfolio') {
unless (&Apache::lonnet::allowed('bre','/res/')) {
- $anydomain = 0;
+ $anydomain = 0;
}
}
@@ -2223,7 +2223,7 @@
my $result = <<END;
$start_page
$breadcrumbs
-<div class="LC_landmark" role="main">
+<div class="LC_landmark" role="main" id="LC_main_content">
<form name="statusform" action="" method="post" target="$target">
<input type="hidden" name="catalogmode" value="import" />
<input type="hidden" name="acts" value="" />
@@ -2499,7 +2499,7 @@
$r->print(<<END);
$start_page
$breadcrumbs
-<div class="LC_landmark" role="main">
+<div class="LC_landmark" role="main" id="LC_main_content">
END
# Remove leading and trailing <br />
$pretty_string =~ s:^\s*<br />::i;
@@ -3360,7 +3360,7 @@
'add_modal' =>1});
my $result=<<END;
$start_page
-<div class="LC_landmark" role="main">
+<div class="LC_landmark" role="main" id="LC_main_content">
<form name="results" method="post" action="/adm/searchcat">
$importbutton
END
Index: loncom/interface/lonsupportreq.pm
diff -u loncom/interface/lonsupportreq.pm:1.109 loncom/interface/lonsupportreq.pm:1.110
--- loncom/interface/lonsupportreq.pm:1.109 Tue Dec 9 02:29:03 2025
+++ loncom/interface/lonsupportreq.pm Sat Dec 13 05:56:01 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Helpdesk request form
#
-# $Id: lonsupportreq.pm,v 1.109 2025/12/09 02:29:03 raeburn Exp $
+# $Id: lonsupportreq.pm,v 1.110 2025/12/13 05:56:01 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -362,7 +362,7 @@
}
my $topsubmit = ' <input type="button" value="'.$html_lt{'subm'}.'" onclick="validate()" /> ';
my $shownsubmit;
- $r->print('<div class="LC_landmark" role="main">'."\n".
+ $r->print('<div class="LC_landmark" role="main" id="LC_main_content">'."\n".
'<form method="post" action="" name="logproblem"'.$formtype.'>'."\n");
my $output = &Apache::lonhtmlcommon::start_pick_box().
&Apache::lonhtmlcommon::row_headline().
@@ -709,7 +709,7 @@
$errormsg = &mt('Validation of human, not robot, failed');
}
$r->print(
- '<div class="LC_landmark" role="main">'.
+ '<div class="LC_landmark" role="main" id="LC_main_content">'.
'<h2 class="LC_heading_2">'.&mt('Support request failed').'</h2>'.
&Apache::lonhtmlcommon::confirm_success($errormsg,1).
'<br /><br />'.
@@ -1056,7 +1056,7 @@
$message .= &mt('As the e-mail address provided for this LON-CAPA server ([_1]) does not appear to be a valid e-mail address, your support request has [_2]not[_3] been sent to the LON-CAPA support staff or administrator at your institution.','<tt>'.$to.'</tt>','<b>','</b>');
}
}
- $r->print('<div class="LC_landmark" role="main">');
+ $r->print('<div class="LC_landmark" role="main" id="LC_main_content">');
if ($bad_email) {
$r->print(&Apache::loncommon::confirmwrapper(&Apache::lonhtmlcommon::confirm_success($message,$bad_email)).'<br />');
}
Index: loncom/interface/lonwhatsnew.pm
diff -u loncom/interface/lonwhatsnew.pm:1.132 loncom/interface/lonwhatsnew.pm:1.133
--- loncom/interface/lonwhatsnew.pm:1.132 Sat Mar 22 21:18:30 2025
+++ loncom/interface/lonwhatsnew.pm Sat Dec 13 05:56:01 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network
# What's New in a course
#
-# $Id: lonwhatsnew.pm,v 1.132 2025/03/22 21:18:30 raeburn Exp $
+# $Id: lonwhatsnew.pm,v 1.133 2025/12/13 05:56:01 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -266,7 +266,7 @@
userpref => 'your general user preferences',
coursespecific => "specific setting for this $lctype",
);
- $r->print('<div class="LC_landmark" role="main">');
+ $r->print('<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
if (($command eq 'chgthreshold')
&& $checkallowed->{'abovethreshold'}) {
Index: loncom/interface/portfolio.pm
diff -u loncom/interface/portfolio.pm:1.271 loncom/interface/portfolio.pm:1.272
--- loncom/interface/portfolio.pm:1.271 Sat Sep 7 19:13:00 2024
+++ loncom/interface/portfolio.pm Sat Dec 13 05:56:01 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network
# portfolio browser
#
-# $Id: portfolio.pm,v 1.271 2024/09/07 19:13:00 raeburn Exp $
+# $Id: portfolio.pm,v 1.272 2025/12/13 05:56:01 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -2784,21 +2784,25 @@
if ($env{"form.mode"} eq 'selectfile'){
$r->print(&Apache::loncommon::start_page($title, $js,
{'only_body' => 1}));
+ $r->print("\n".'<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
} elsif ($env{'form.action'} eq 'rolepicker') {
$r->print(&Apache::loncommon::start_page('New role-based condition', $js,
{'no_nav_bar' => 1, }));
+ $r->print("\n".'<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
} elsif ($caller eq 'coursegrp_portfolio') {
$r->print(&Apache::loncommon::start_page($title, $js));
+ $r->print("\n".'<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
} else {
$r->print(&Apache::loncommon::start_page($title, $js,
{'bread_crumbs' => $brcrum}));
+ $r->print("\n".'<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
if (!&Apache::lonnet::usertools_access($uname,$udom,'portfolio')) {
$r->print('<h2>'.&mt('No user portfolio available') .'</h2>'.
&mt('This is a result of one of the following:').'<ul>'.
'<li>'.&mt('The administrator of this domain has disabled portfolio functionality for this specific user.').'</li>'.
'<li>'.&mt('The domain has been configured to disable, by default, portfolio functionality for all users in the domain.').'</li>'.
'</ul>');
- $r->print(&Apache::loncommon::end_page());
+ $r->print('</div>'.&Apache::loncommon::end_page());
return OK;
}
}
@@ -2837,7 +2841,7 @@
}
unless ($evade_block) {
$r->print($blocktext);
- $r->print(&Apache::loncommon::end_page());
+ $r->print('</div>'.&Apache::loncommon::end_page());
return OK;
}
}
@@ -2845,14 +2849,14 @@
my $clean_currentpath = '/'.&Apache::loncommon::clean_path($env{'form.currentpath'}).'/';
unless ($env{'form.currentpath'} eq $clean_currentpath) {
&invalid_parms($r,$url);
- $r->print(&Apache::loncommon::end_page());
+ $r->print('</div>'.&Apache::loncommon::end_page());
return OK;
}
}
if ($env{'form.container'}) {
unless (&valid_container($uname,$udom,$group)) {
&invalid_parms($r,$url,$env{'form.currentpath'});
- $r->print(&Apache::loncommon::end_page());
+ $r->print('</div>'.&Apache::loncommon::end_page());
return OK;
}
}
@@ -3033,7 +3037,7 @@
$can_upload,$can_modify,$can_delete,$can_setacl,
$can_viewacl,$caller);
}
- $r->print(&Apache::loncommon::end_page());
+ $r->print('</div>'.&Apache::loncommon::end_page());
return OK;
}
Index: loncom/interface/resetpw.pm
diff -u loncom/interface/resetpw.pm:1.55 loncom/interface/resetpw.pm:1.56
--- loncom/interface/resetpw.pm:1.55 Tue Dec 9 02:29:03 2025
+++ loncom/interface/resetpw.pm Sat Dec 13 05:56:01 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.55 2025/12/09 02:29:03 raeburn Exp $
+# $Id: resetpw.pm,v 1.56 2025/12/13 05:56:01 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -312,7 +312,7 @@
'<h2 class="LC_heading_2">'.&mt('Reset forgotten LON-CAPA password').'</h2></div>';
my $output;
if ($token) {
- $r->print($header.'<div class="LC_landmark" role="main">');
+ $r->print($header.'<div class="LC_landmark" role="main" id="LC_main_content">');
&reset_passwd($r,$token,$contact_name,$contact_email,$clientip,\%passwdconf);
$r->print('</div>'.&Apache::loncommon::end_page());
return OK;
@@ -442,7 +442,9 @@
$output = &get_uname($formname,$server,$defdom,\%passwdconf,
$captcha_form,$hdn_captcha,$recaptcha_badge);
}
- $r->print($header.'<div class="LC_landmark" role="main">'.$output.'</div>');
+ $r->print($header.
+ '<div class="LC_landmark" role="main" id="LC_main_content">'.
+ $output.'</div>');
$r->print(&Apache::loncommon::end_page());
return OK;
}
Index: loncom/interface/slotrequest.pm
diff -u loncom/interface/slotrequest.pm:1.152 loncom/interface/slotrequest.pm:1.153
--- loncom/interface/slotrequest.pm:1.152 Wed Apr 2 23:44:01 2025
+++ loncom/interface/slotrequest.pm Sat Dec 13 05:56:01 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler for requesting to have slots added to a students record
#
-# $Id: slotrequest.pm,v 1.152 2025/04/02 23:44:01 raeburn Exp $
+# $Id: slotrequest.pm,v 1.153 2025/12/13 05:56:01 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -3657,7 +3657,7 @@
$js = &reservation_js(\%slots,$consumed_uniqueperiods,$available,$got_slots,$symb);
}
&start_page($r,$title,$brcrum,$bread_crumbs_component,$js,$mgr);
- $r->print('<div class="LC_landmark" role="main">'."\n");
+ $r->print("\n".'<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
if ($env{'form.command'} eq 'manageresv') {
$allavailable = $available;
Index: loncom/auth/lonlogin.pm
diff -u loncom/auth/lonlogin.pm:1.214 loncom/auth/lonlogin.pm:1.215
--- loncom/auth/lonlogin.pm:1.214 Sun Nov 2 01:42:00 2025
+++ loncom/auth/lonlogin.pm Sat Dec 13 05:56:02 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Login Screen
#
-# $Id: lonlogin.pm,v 1.214 2025/11/02 01:42:00 raeburn Exp $
+# $Id: lonlogin.pm,v 1.215 2025/12/13 05:56:02 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -387,7 +387,7 @@
}
$r->print(
$start_page
- .'<div class="LC_landmark" role="main">'
+ .'<div class="LC_landmark" role="main" id="LC_main_content">'
.'<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>'
@@ -649,7 +649,7 @@
.'<h1>'.&mt('The LearningOnline Network with CAPA').'</h1>'
.'<img src="/adm/lonKaputt/lonlogo_broken.gif" alt="broken icon" align="right" />'
.'</div>'
- .'<div class="LC_landmark" role="main">'
+ .'<div class="LC_landmark" role="main" id="LC_main_content">'
.'<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:')
@@ -990,7 +990,7 @@
my $ssoauthstyle = 'none';
my $sso_onclick;
my $logintype;
- $r->print('<div style="float:left;margin-top:0;" role="main">');
+ $r->print('<div style="float:left;margin-top:0;" role="main" id="LC_main_content">');
if ($saml_landing) {
$ssoauthstyle = 'inline-block';
$stdauthformstyle = 'none';
Index: loncom/auth/lonlogout.pm
diff -u loncom/auth/lonlogout.pm:1.59 loncom/auth/lonlogout.pm:1.60
--- loncom/auth/lonlogout.pm:1.59 Sun May 29 12:59:47 2022
+++ loncom/auth/lonlogout.pm Sat Dec 13 05:56:02 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Logout Handler
#
-# $Id: lonlogout.pm,v 1.59 2022/05/29 12:59:47 raeburn Exp $
+# $Id: lonlogout.pm,v 1.60 2025/12/13 05:56:02 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -226,7 +226,9 @@
# --------------------------------------------------------------- Screen Output
$r->print(<<ENDDOCUMENT);
$start_page
+<div class="LC_landmark" role="main" id="LC_main_content">
$relogmessage
+</div>
$end_page
ENDDOCUMENT
if ($env{'request.balancercookie'}) {
Index: loncom/auth/lonroles.pm
diff -u loncom/auth/lonroles.pm:1.377 loncom/auth/lonroles.pm:1.378
--- loncom/auth/lonroles.pm:1.377 Mon May 26 19:55:10 2025
+++ loncom/auth/lonroles.pm Sat Dec 13 05:56:02 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# User Roles Screen
#
-# $Id: lonroles.pm,v 1.377 2025/05/26 19:55:10 raeburn Exp $
+# $Id: lonroles.pm,v 1.378 2025/12/13 05:56:02 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -181,7 +181,7 @@
</script>
ENDREDIR
}
- $r->print('<div class="LC_landmark" role="main">'."\n");
+ $r->print('<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
return;
}
@@ -744,7 +744,7 @@
<h2 class="LC_heading_2">$accessheader</h2>
<p>$message</p>
</div>
-<div class="LC_landmark" role="main">
+<div class="LC_landmark" role="main" id="LC_main_content">
<form action="/adm/roles" method="post">
<input type="hidden" name="selectrole" value="1" />
<input type="hidden" name="$trolecode" value="1" />
@@ -777,7 +777,7 @@
$swinfo
// ]]>
</script>
-<div class="LC_landmark" role="main">
+<div class="LC_landmark" role="main" id="LC_main_content">
<h2 class="LC_heading_2">$accessheader</h2>
<p>$preamble</p>
<form action="" method="post">
@@ -1397,7 +1397,7 @@
}
}
if ($nochoose) {
- $r->print("<div class=\"LC_landmark\" role=\"main\">
+ $r->print("<div class=\"LC_landmark\" role=\"main\" id=\"LC_main_content\">
<h2>".&mt('Sorry ...')."</h2>\n<span class='LC_error'>".
&mt('This action is currently not authorized.').'</span>');
if ($error && $norolelist) {
@@ -1411,6 +1411,7 @@
$r->print('</div>'.&Apache::loncommon::end_page());
return OK;
} else {
+ $r->print('<div class="LC_landmark" role="main" id="LC_main_content">'."\n");
if ($updateresult || $reqauthor || $hotlist) {
my $showresult = '<div>';
if ($updateresult) {
@@ -1684,7 +1685,7 @@
.&mt('This LON-CAPA server is version [_1]',$r->dir_config('lonVersion'))
.'</i></small></p>');
}
- $r->print(&Apache::loncommon::end_page());
+ $r->print('</div>'."\n".&Apache::loncommon::end_page());
return OK;
}
Index: loncom/homework/daxepage.pm
diff -u loncom/homework/daxepage.pm:1.18 loncom/homework/daxepage.pm:1.19
--- loncom/homework/daxepage.pm:1.18 Fri Feb 21 06:09:37 2025
+++ loncom/homework/daxepage.pm Sat Dec 13 05:56:03 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Page with Daxe on the left side and the preview on the right side
#
-# $Id: daxepage.pm,v 1.18 2025/02/21 06:09:37 raeburn Exp $
+# $Id: daxepage.pm,v 1.19 2025/12/13 05:56:03 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -179,7 +179,7 @@
$request->print(<<"ENDFRAME");
$startpage
$script
-<div class="LC_iframecontainer" style="padding-right: 5px" role="main">
+<div class="LC_iframecontainer" style="padding-right: 5px" role="main" id="LC_main_content">
<h1 class="LC_visually_hidden">$lt{'daxe'}</h1>
<iframe src="$dest" id="lcdiframe">$lt{'noif'} $noiframe</iframe>
</div>
Index: loncom/homework/structuretags.pm
diff -u loncom/homework/structuretags.pm:1.595 loncom/homework/structuretags.pm:1.596
--- loncom/homework/structuretags.pm:1.595 Sun Aug 24 21:43:23 2025
+++ loncom/homework/structuretags.pm Sat Dec 13 05:56:03 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# definition of tags that give a structure to a document
#
-# $Id: structuretags.pm,v 1.595 2025/08/24 21:43:23 raeburn Exp $
+# $Id: structuretags.pm,v 1.596 2025/12/13 05:56:03 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -597,7 +597,7 @@
\%body_args);
$page_start .= $pageheader;
if ($target eq 'web') {
- $page_start .= '<div class="LC_landmark" role="main">'."\n";
+ $page_start .= '<div class="LC_landmark" role="main" id="LC_main_content">'."\n";
}
if (!defined($found{'body'})
&& $env{'request.state'} ne 'construct'
Index: loncom/lonnet/perl/lonnet.pm
diff -u loncom/lonnet/perl/lonnet.pm:1.1541 loncom/lonnet/perl/lonnet.pm:1.1542
--- loncom/lonnet/perl/lonnet.pm:1.1541 Mon Aug 4 18:42:04 2025
+++ loncom/lonnet/perl/lonnet.pm Sat Dec 13 05:56:04 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network
# TCP networking package
#
-# $Id: lonnet.pm,v 1.1541 2025/08/04 18:42:04 raeburn Exp $
+# $Id: lonnet.pm,v 1.1542 2025/12/13 05:56:04 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -3734,7 +3734,7 @@
$output=~s|//(\s*<!--)? BEGIN LON-CAPA Internal.+?// END LON-CAPA Internal\s*(-->)?\s||gs;
$output=~s/^.*?\<body[^\>]*\>//si;
$output=~s/\<\/body\s*\>.*?$//si;
- $output=~s{\Q<div class="LC_landmark" role="main">\E}{<div>}gs;
+ $output=~s{\Q<div class="LC_landmark" role="main" id="LC_main_content">\E}{<div>}gs;
if (wantarray) {
return ($output, $response);
} else {
Index: rat/lonpage.pm
diff -u rat/lonpage.pm:1.146 rat/lonpage.pm:1.147
--- rat/lonpage.pm:1.146 Sun Aug 24 21:43:23 2025
+++ rat/lonpage.pm Sat Dec 13 05:56:04 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Page Handler
#
-# $Id: lonpage.pm,v 1.146 2025/08/24 21:43:23 raeburn Exp $
+# $Id: lonpage.pm,v 1.147 2025/12/13 05:56:04 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -425,7 +425,7 @@
}
my $output=Apache::lonnet::ssi($src,%posthash);
$output=~s|//(\s*<!--)? BEGIN LON-CAPA Internal.+?// END LON-CAPA Internal\s*(-->)?\s||gs;
- $output=~s{\Q<div class="LC_landmark" role="main">\E}{<div class="LC_landmark">}gs;
+ $output=~s{\Q<div class="LC_landmark" role="main" id="LC_main_content">\E}{<div class="LC_landmark">}gs;
if (($target eq 'tex') || ($target eq 'tex_answer')) {
$output =~ s/^([^&]+)\\begin\{document}//;
$output =~ s/\\end\{document}//;
More information about the LON-CAPA-cvs
mailing list