[LON-CAPA-cvs] cvs: rat / lonwrapper.pm

raeburn raeburn at source.lon-capa.org
Fri Dec 19 16:28:37 EST 2025


raeburn		Fri Dec 19 21:28:37 2025 EDT

  Modified files:              
    /rat	lonwrapper.pm 
  Log:
  - WCAG 2 compliance. Include "Skip to main content" as first item shown
    when tabbing in page.
  
  
Index: rat/lonwrapper.pm
diff -u rat/lonwrapper.pm:1.88 rat/lonwrapper.pm:1.89
--- rat/lonwrapper.pm:1.88	Sun Sep  7 04:21:14 2025
+++ rat/lonwrapper.pm	Fri Dec 19 21:28:37 2025
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Wrapper for external and binary files as standalone resources
 #
-# $Id: lonwrapper.pm,v 1.88 2025/09/07 04:21:14 raeburn Exp $
+# $Id: lonwrapper.pm,v 1.89 2025/12/19 21:28:37 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -100,6 +100,7 @@
     }
 
     my ($countdown,$donemsg,$headjs);
+    my $skiptotarget = "\n".'<div class="LC_landmark" role="main" id="LC_main_content">'."\n";
     if (($exttool) && (&Apache::lonnet::EXT('resource.0.gradable') =~ /^yes$/i)) {
         $Apache::lonhomework::browse = &Apache::lonnet::allowed('bre',$url);
         if ($env{'form.markaccess'}) {
@@ -151,7 +152,7 @@
                           &Apache::lonfeedback::list_discussion('tool','OPEN');
             }
             return &Apache::loncommon::start_page('Menu',undef,$args).
-                   $result.
+                   $skiptotarget.$result.'</div>'.
                    &Apache::loncommon::end_page();
         }
     }
@@ -185,7 +186,7 @@
     }
     if ($clientmobile || ($exttool eq 'window') || ($exttool eq 'tab') ||
         ($is_ext eq 'tab') || ($is_ext eq 'window')) {
-        my $output = $startpage;
+        my $output = $startpage.$skiptotarget;
         if ($is_pdf) {
             $linktext = &mt('Link to PDF (for mobile devices)');
             $output .= &create_link($url,$anchor,$title,$linktext);
@@ -304,11 +305,11 @@
                            "</div>\n";
             }
         }
-        $output .= $endpage;
+        $output .= '</div>'.$endpage;
         return $output;
     } elsif ($uselink) {
         $linktext = &mt('Link to resource');
-        return $startpage.&create_link($url,$anchor,$title,$linktext).$endpage;
+        return $startpage.$skiptotarget.&create_link($url,$anchor,$title,$linktext).'</div>'.$endpage;
     } else {
         # javascript will position the iframe if window was resized (or zoomed)
         my $script = &Apache::loncommon::iframe_wrapper_resizejs();
@@ -316,7 +317,7 @@
         return <<ENDFRAME;
         $startpage
         $script
-        <div class="LC_iframecontainer">
+        <div class="LC_iframecontainer" role="main" id="LC_main_content">
             <iframe src="$dest">$lt{'noif'} $noiframe</iframe>
         </div>
         $endpage




More information about the LON-CAPA-cvs mailing list