--- loncom/interface/loncommon.pm 2025/02/21 06:09:36 1.1461 +++ loncom/interface/loncommon.pm 2025/03/01 17:20:16 1.1467 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.1461 2025/02/21 06:09:36 raeburn Exp $ +# $Id: loncommon.pm,v 1.1467 2025/03/01 17:20:16 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -8296,12 +8296,22 @@ table.LC_prior_tries td { padding: 6px; } -.LC_prob_status { - margin-top: 5px; - padding-top: 0; - padding-left: 0; - padding-bottom: 0; - padding-right: 5px; +span.LC_prob_status { + margin: 5px 0 0 0; + padding: 0 5px 0 0; + vertical-align: middle; +} + +div.LC_prob_status_outer { + display: inline-block; + margin: -5px 0 0 0; + padding: 0; +} + +div.LC_prob_status_inner { + display: inline-block; + margin: 0 5px 0 0; + padding: 5px; } .LC_mail_actions { @@ -9360,13 +9370,39 @@ pre.LC_wordwrap { /* styles used for response display */ -div.LC_radiofoil, div.LC_rankfoil { +div.LC_radiofoil, div.LC_rankfoil, div.LC_optionfoil, div.LC_matchfoil, div.LC_login_links { margin: .5em 0em .5em 0em; } table.LC_itemgroup { margin-top: 1em; } +table.LC_itemgroup tr th { + font-weight: normal; +} + +fieldset.LC_webbubbles { + margin: 2px 0 0 0; + padding: 0; + border: 0; +} + +ul.LC_webbubbles { + list-style: none; + padding: 0; + margin: 0; + text-align: left; + float: left; +} + +ul.LC_webbubbles li { + line-height: 1.8em; + border: 1px solid black; + padding: 0 2px 0 5px; + margin: 0 0 0 -1px; + float: left; +} + /* styles used by TTH when "Default set of options to pass to tth/m when converting TeX" in course settings has been set @@ -10863,6 +10899,11 @@ sub simple_error_page { return; } + sub set_data_table_count { + my ($count) = @_; + unshift(@row_count,$count); + } + sub start_data_table { my ($add_class,$id) = @_; my $css_class = (join(' ','LC_data_table',$add_class)); @@ -10910,7 +10951,11 @@ sub simple_error_page { } sub start_data_table_header_row { - return '<tr class="LC_header_row">'."\n";; + my ($add_class,$id) = @_; + my $css_class = 'LC_header_row'; + $css_class = (join(' ',$css_class,$add_class)) unless ($add_class eq ''); + $id = (' id="'.$id.'"') unless ($id eq ''); + return '<tr class="'.$css_class.'"'.$id.'>'."\n"; } sub end_data_table_header_row { @@ -19037,7 +19082,7 @@ Returns: HTML to display with informatio sub check_release_result { my ($switchwarning,$switchserver) = @_; my $output = &start_page('Selected course unavailable on this server'). - '<p class="LC_warning">'; + '<div class="LC_landmark" role="main"><p class="LC_warning">'; if ($switchwarning) { $output .= $switchwarning.'<br /><a href="/adm/roles">'; if (&show_course()) { @@ -19053,7 +19098,7 @@ sub check_release_result { &mt('Switch Server'). '</a>'; } - $output .= '</p>'.&end_page(); + $output .= '</p></div>'.&end_page(); return $output; } @@ -19670,7 +19715,7 @@ sub create_captcha { $output = '<input type="hidden" name="crypt" value="'.$md5sum.'" />'."\n". '<span class="LC_nobreak">'. '<label>'.&mt('Type in the letters/numbers shown below').' '. - '<input type="text" size="5" name="code" value="" autocomplete="new-password" />'. + '<input type="text" size="5" name="code" value="" autocomplete="new-password" aria-required="true" />'. '</label></span><br />'. '<img src="'.$captcha_params{'www_output_dir'}.'/'.$md5sum.'.png" alt="captcha" />'; last;