mirror of
https://github.com/moodle/moodle.git
synced 2025-08-03 08:09:47 +02:00
Merge branch 'MDL-67683-main' of https://github.com/junpataleta/moodle
This commit is contained in:
commit
d8dbb53c36
23 changed files with 120 additions and 92 deletions
|
@ -55,12 +55,13 @@ Feature: Authentication
|
|||
And the page should meet accessibility standards with "wcag131, wcag141, wcag412" extra tests
|
||||
|
||||
@javascript @accessibility
|
||||
Scenario: The login page must have sufficient colour contrast
|
||||
Scenario: The login page must meet accessibility standards
|
||||
Given the following config values are set as admin:
|
||||
| custommenuitems | -This is a custom item\|/customurl/ |
|
||||
When I am on site homepage
|
||||
Then the page should meet "wcag143" accessibility standards
|
||||
And the page should meet accessibility standards with "wcag143" extra tests
|
||||
Then the page should meet accessibility standards with "best-practice" extra tests
|
||||
And I follow "Log in"
|
||||
And the page should meet accessibility standards with "best-practice" extra tests
|
||||
|
||||
Scenario: Alternate login URL can be bypassed
|
||||
Given the following config values are set as admin:
|
||||
|
|
|
@ -46,12 +46,14 @@ Feature: Test if the login form provides the correct feedback
|
|||
And I follow "Log in"
|
||||
Then I should see "Lorem ipsum dolor sit amet"
|
||||
|
||||
@javascript @accessibility
|
||||
Scenario: Show the maintenance mode message
|
||||
Given the following config values are set as admin:
|
||||
| maintenance_enabled | Disabled |
|
||||
| maintenance_enabled | 1 |
|
||||
| maintenance_message | Back online tomorrow |
|
||||
And I follow "Log in"
|
||||
Then I should see "Back online tomorrow"
|
||||
And the page should meet accessibility standards with "best-practice" extra tests
|
||||
|
||||
Scenario: User self registration
|
||||
Given the following config values are set as admin:
|
||||
|
|
|
@ -446,8 +446,11 @@ class block_base {
|
|||
$attributes = array(
|
||||
'id' => 'inst' . $this->instance->id,
|
||||
'class' => 'block_' . $this->name() . ' block',
|
||||
'role' => $this->get_aria_role()
|
||||
);
|
||||
$ariarole = $this->get_aria_role();
|
||||
if ($ariarole) {
|
||||
$attributes['role'] = $ariarole;
|
||||
}
|
||||
if ($this->hide_header()) {
|
||||
$attributes['class'] .= ' no-header';
|
||||
}
|
||||
|
@ -739,20 +742,19 @@ EOD;
|
|||
* a landmark child.
|
||||
*
|
||||
* Options are as follows:
|
||||
* - landmark
|
||||
* - application
|
||||
* - banner
|
||||
* - complementary
|
||||
* - contentinfo
|
||||
* - landmark
|
||||
* - form
|
||||
* - main
|
||||
* - navigation
|
||||
* - search
|
||||
*
|
||||
* Please do not use top-level landmark roles such as 'banner', 'complementary', 'contentinfo', or 'main'. Read more at
|
||||
* {@link https://www.w3.org/WAI/ARIA/apg/practices/landmark-regions/ ARIA Authoring Practices Guide - Landmark Regions}
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function get_aria_role() {
|
||||
return 'complementary';
|
||||
return 'region';
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -222,6 +222,8 @@ $string['block'] = 'Block';
|
|||
$string['blockconfiga'] = 'Configuring a {$a} block';
|
||||
$string['blockconfigbad'] = 'This block has not been implemented correctly and thus cannot provide a configuration interface.';
|
||||
$string['blocks'] = 'Blocks';
|
||||
$string['blocks_main'] = 'Main content blocks';
|
||||
$string['blocks_supplementary'] = 'Supplementary blocks';
|
||||
$string['blocksaddedit'] = 'Add/Edit blocks';
|
||||
$string['blockseditoff'] = 'Blocks editing off';
|
||||
$string['blocksediton'] = 'Blocks editing on';
|
||||
|
|
|
@ -1504,7 +1504,7 @@ class core_renderer extends renderer_base {
|
|||
$context->skiptitle = strip_tags($bc->title);
|
||||
$context->showskiplink = !empty($context->skiptitle);
|
||||
$context->arialabel = $bc->arialabel;
|
||||
$context->ariarole = !empty($bc->attributes['role']) ? $bc->attributes['role'] : 'complementary';
|
||||
$context->ariarole = !empty($bc->attributes['role']) ? $bc->attributes['role'] : '';
|
||||
$context->class = $bc->attributes['class'];
|
||||
$context->type = $bc->attributes['data-block'];
|
||||
$context->title = $bc->title;
|
||||
|
@ -3817,6 +3817,7 @@ EOD;
|
|||
*/
|
||||
public function blocks($region, $classes = [], $tag = 'aside', $fakeblocksonly = false) {
|
||||
$displayregion = $this->page->apply_theme_region_manipulations($region);
|
||||
$headingid = $displayregion . '-block-region-heading';
|
||||
$classes = (array)$classes;
|
||||
$classes[] = 'block-region';
|
||||
$attributes = [
|
||||
|
@ -3824,12 +3825,23 @@ EOD;
|
|||
'class' => join(' ', $classes),
|
||||
'data-blockregion' => $displayregion,
|
||||
'data-droptarget' => '1',
|
||||
'aria-labelledby' => $headingid,
|
||||
];
|
||||
// Generate an appropriate heading to uniquely identify the block region.
|
||||
$blocksheading = match ($displayregion) {
|
||||
'side-post' => get_string('blocks_supplementary'),
|
||||
'content' => get_string('blocks_main'),
|
||||
default => get_string('blocks'),
|
||||
};
|
||||
$content = html_writer::tag('h2', $blocksheading, ['class' => 'visually-hidden', 'id' => $headingid]);
|
||||
if ($this->page->blocks->region_has_content($displayregion, $this)) {
|
||||
$content = html_writer::tag('h2', get_string('blocks'), ['class' => 'visually-hidden']) .
|
||||
$this->blocks_for_region($displayregion, $fakeblocksonly);
|
||||
} else {
|
||||
$content = html_writer::tag('h2', get_string('blocks'), ['class' => 'visually-hidden']);
|
||||
$content .= $this->blocks_for_region($displayregion, $fakeblocksonly);
|
||||
}
|
||||
// Given that <aside> has a default role of a complementary landmark and is supposed to be a top-level landmark,
|
||||
// blocks rendered as part of the main content should not have a complementary role and should be rendered in a more generic
|
||||
// container.
|
||||
if ($displayregion === 'content' && $tag === 'aside') {
|
||||
$tag = 'section';
|
||||
}
|
||||
return html_writer::tag($tag, $content, $attributes);
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
"class": "block block_html",
|
||||
"showskiplink": true,
|
||||
"type": "html",
|
||||
"ariarole": "complementary",
|
||||
"ariarole": "",
|
||||
"title": "Test block",
|
||||
"blockinstanceid": 1,
|
||||
"content": "<p>Hello block world!</p>"
|
||||
|
@ -22,7 +22,7 @@
|
|||
{{! Start Block Container }}
|
||||
<section id="{{id}}"
|
||||
class="{{#hidden}}hidden{{/hidden}} {{class}} {{#hascontrols}}block_with_controls{{/hascontrols}} card mb-3"
|
||||
role="{{ariarole}}"
|
||||
{{#ariarole}}role="{{.}}"{{/ariarole}}
|
||||
data-block="{{type}}"
|
||||
data-instance-id="{{blockinstanceid}}"
|
||||
{{#arialabel}}
|
||||
|
|
|
@ -1168,7 +1168,7 @@ class behat_navigation extends behat_base {
|
|||
protected function select_on_administration_page($nodelist) {
|
||||
$parentnodes = $nodelist;
|
||||
$lastnode = array_pop($parentnodes);
|
||||
$xpath = '//section[@id=\'region-main\']';
|
||||
$xpath = '//div[@id=\'region-main\']';
|
||||
|
||||
// Check if there is a separate tab for this submenu of the page. If found go to it.
|
||||
if ($parentnodes) {
|
||||
|
|
|
@ -36,3 +36,9 @@ Feature: Page displaying with secure layout
|
|||
And I am on "Course 1" course homepage
|
||||
When I follow "Fixture link"
|
||||
Then I should not see "This is a custom item" in the "nav" "css_element"
|
||||
|
||||
@javascript @accessibility
|
||||
Scenario: A page on the secure layout meets the accessibility standards
|
||||
Given I am on the "C1" "Course" page logged in as "admin"
|
||||
When I follow "Fixture link"
|
||||
Then the page should meet accessibility standards with "best-practice" extra tests
|
||||
|
|
3
lib/tests/fixtures/securetestpage.php
vendored
3
lib/tests/fixtures/securetestpage.php
vendored
|
@ -29,6 +29,9 @@ defined('BEHAT_SITE_RUNNING') || die('Only available on Behat test server');
|
|||
$PAGE->set_pagelayout('secure');
|
||||
$PAGE->set_url('/lib/tests/fixtures/securetestpage.php');
|
||||
$PAGE->set_context(context_system::instance());
|
||||
$title = 'Secure test page';
|
||||
$PAGE->set_title($title);
|
||||
$PAGE->set_heading($title);
|
||||
|
||||
echo $OUTPUT->header();
|
||||
|
||||
|
|
|
@ -609,7 +609,7 @@ table.calendartable caption {
|
|||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
section:not(#region-main) {
|
||||
[data-blockregion]:not([data-blockregion="content"]) {
|
||||
.block {
|
||||
&.block_calendar_month {
|
||||
.maincalendar {
|
||||
|
|
|
@ -27773,41 +27773,41 @@ table.calendartable caption {
|
|||
}
|
||||
}
|
||||
@media (min-width: 768px) {
|
||||
section:not(#region-main) .block.block_calendar_month .maincalendar div.header {
|
||||
[data-blockregion]:not([data-blockregion=content]) .block.block_calendar_month .maincalendar div.header {
|
||||
visibility: hidden;
|
||||
height: 0;
|
||||
}
|
||||
section:not(#region-main) .block.block_calendar_month .maincalendar .calendarwrapper .current {
|
||||
[data-blockregion]:not([data-blockregion=content]) .block.block_calendar_month .maincalendar .calendarwrapper .current {
|
||||
width: 40%;
|
||||
font-size: inherit;
|
||||
line-height: inherit;
|
||||
}
|
||||
section:not(#region-main) .block.block_calendar_month .maincalendar .calendarwrapper .previous,
|
||||
section:not(#region-main) .block.block_calendar_month .maincalendar .calendarwrapper .next {
|
||||
[data-blockregion]:not([data-blockregion=content]) .block.block_calendar_month .maincalendar .calendarwrapper .previous,
|
||||
[data-blockregion]:not([data-blockregion=content]) .block.block_calendar_month .maincalendar .calendarwrapper .next {
|
||||
width: 30%;
|
||||
}
|
||||
section:not(#region-main) .block.block_calendar_month .maincalendar .calendarwrapper .previous .arrow_text,
|
||||
section:not(#region-main) .block.block_calendar_month .maincalendar .calendarwrapper .next .arrow_text {
|
||||
[data-blockregion]:not([data-blockregion=content]) .block.block_calendar_month .maincalendar .calendarwrapper .previous .arrow_text,
|
||||
[data-blockregion]:not([data-blockregion=content]) .block.block_calendar_month .maincalendar .calendarwrapper .next .arrow_text {
|
||||
display: none;
|
||||
}
|
||||
section:not(#region-main) .block.block_calendar_month .maincalendar .calendartable.calendarmonth th,
|
||||
section:not(#region-main) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td {
|
||||
[data-blockregion]:not([data-blockregion=content]) .block.block_calendar_month .maincalendar .calendartable.calendarmonth th,
|
||||
[data-blockregion]:not([data-blockregion=content]) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td {
|
||||
border: none;
|
||||
text-align: center !important;
|
||||
padding: 0;
|
||||
}
|
||||
section:not(#region-main) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td {
|
||||
[data-blockregion]:not([data-blockregion=content]) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td {
|
||||
height: auto;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
section:not(#region-main) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td.hasevent [data-region=day-content] {
|
||||
[data-blockregion]:not([data-blockregion=content]) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td.hasevent [data-region=day-content] {
|
||||
display: none;
|
||||
}
|
||||
section:not(#region-main) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td.hasevent .day-number {
|
||||
[data-blockregion]:not([data-blockregion=content]) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td.hasevent .day-number {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
}
|
||||
section:not(#region-main) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td.hasevent .day-number:before {
|
||||
[data-blockregion]:not([data-blockregion=content]) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td.hasevent .day-number:before {
|
||||
content: ".";
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
|
@ -27818,19 +27818,19 @@ table.calendartable caption {
|
|||
font-size: 3em;
|
||||
color: inherit;
|
||||
}
|
||||
section:not(#region-main) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td:after {
|
||||
[data-blockregion]:not([data-blockregion=content]) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td:after {
|
||||
content: "";
|
||||
display: block;
|
||||
margin-top: calc(100% - 26px);
|
||||
}
|
||||
section:not(#region-main) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td.clickable:hover {
|
||||
[data-blockregion]:not([data-blockregion=content]) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td.clickable:hover {
|
||||
background-color: inherit;
|
||||
}
|
||||
section:not(#region-main) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td.clickable:not(.today):hover .day-number-circle {
|
||||
[data-blockregion]:not([data-blockregion=content]) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td.clickable:not(.today):hover .day-number-circle {
|
||||
border-radius: 50%;
|
||||
background-color: #ededed;
|
||||
}
|
||||
section:not(#region-main) .block.block_calendar_month .bottom {
|
||||
[data-blockregion]:not([data-blockregion=content]) .block.block_calendar_month .bottom {
|
||||
border-top: 1px solid rgba(0, 0, 0, 0.125);
|
||||
padding-top: 0.5rem;
|
||||
}
|
||||
|
|
|
@ -48,7 +48,7 @@
|
|||
<div id="page" class="container-fluid d-print-block">
|
||||
<div id="page-content" class="row pb-3 d-print-block">
|
||||
<div id="region-main-box" class="col-12">
|
||||
<section id="region-main" aria-label="{{#str}}content{{/str}}">
|
||||
<div id="region-main">
|
||||
{{{ output.course_content_header }}}
|
||||
{{#headercontent}}
|
||||
{{> core/activity_header }}
|
||||
|
@ -56,7 +56,7 @@
|
|||
{{{ output.main_content }}}
|
||||
{{{ output.activity_navigation }}}
|
||||
{{{ output.course_content_footer }}}
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -73,7 +73,7 @@
|
|||
<div> {{{ regionmainsettingsmenu }}} </div>
|
||||
</div>
|
||||
{{/hasregionmainsettingsmenu}}
|
||||
<section id="region-main" {{#hasblocks}}class="has-blocks mb-3"{{/hasblocks}} aria-label="{{#str}}content{{/str}}">
|
||||
<div id="region-main" {{#hasblocks}}class="has-blocks mb-3"{{/hasblocks}}>
|
||||
|
||||
{{#hasregionmainsettingsmenu}}
|
||||
<div class="region_main_settings_menu_proxy"></div>
|
||||
|
@ -89,12 +89,12 @@
|
|||
{{{ output.activity_navigation }}}
|
||||
{{{ output.course_content_footer }}}
|
||||
|
||||
</section>
|
||||
</div>
|
||||
{{#hasblocks}}
|
||||
<section data-region="blocks-column" class="d-print-none" aria-label="{{#str}}blocks{{/str}}">
|
||||
<div data-region="blocks-column" class="d-print-none">
|
||||
{{{ addblockbutton }}}
|
||||
{{{ sidepreblocks }}}
|
||||
</section>
|
||||
</div>
|
||||
{{/hasblocks}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -79,10 +79,10 @@
|
|||
{{$id}}theme_boost-drawers-blocks{{/id}}
|
||||
{{$drawerclasses}}drawer drawer-right{{#blockdraweropen}} show{{/blockdraweropen}}{{/drawerclasses}}
|
||||
{{$drawercontent}}
|
||||
<section class="d-print-none" aria-label="{{#str}}blocks{{/str}}">
|
||||
<div class="d-print-none">
|
||||
{{{ addblockbutton }}}
|
||||
{{{ sidepreblocks }}}
|
||||
</section>
|
||||
</div>
|
||||
{{/drawercontent}}
|
||||
{{$drawerpreferencename}}drawer-open-block{{/drawerpreferencename}}
|
||||
{{$forceopen}}{{#forceblockdraweropen}}1{{/forceblockdraweropen}}{{/forceopen}}
|
||||
|
@ -142,7 +142,7 @@
|
|||
<div> {{{ regionmainsettingsmenu }}} </div>
|
||||
</div>
|
||||
{{/hasregionmainsettingsmenu}}
|
||||
<section id="region-main" aria-label="{{#str}}content{{/str}}">
|
||||
<div id="region-main">
|
||||
|
||||
{{#hasregionmainsettingsmenu}}
|
||||
<div class="region_main_settings_menu_proxy"></div>
|
||||
|
@ -162,7 +162,7 @@
|
|||
{{{ output.activity_navigation }}}
|
||||
{{{ output.course_content_footer }}}
|
||||
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -56,9 +56,9 @@
|
|||
{{{ output.standard_top_of_body_html }}}
|
||||
<div id="page" {{#hasfakeblocks}}class="has-fake-blocks"{{/hasfakeblocks}}>
|
||||
{{#hasfakeblocks}}
|
||||
<section class="embedded-blocks" aria-label="{{#str}}blocks{{/str}}">
|
||||
<div class="embedded-blocks">
|
||||
{{{ fakeblocks }}}
|
||||
</section>
|
||||
</div>
|
||||
{{/hasfakeblocks}}
|
||||
<section class="embedded-main">
|
||||
{{#headercontent}}
|
||||
|
|
|
@ -41,13 +41,13 @@
|
|||
<div id="page" class="container-fluid pt-5 mt-0">
|
||||
<div id="page-content" class="row">
|
||||
<div id="region-main-box" class="col-12">
|
||||
<section id="region-main" class="col-12 h-100" aria-label="{{#str}}content{{/str}}">
|
||||
<div id="region-main" class="col-12 h-100">
|
||||
<div class="login-wrapper">
|
||||
<div class="login-container">
|
||||
{{{ output.main_content }}}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -57,9 +57,9 @@
|
|||
</div>
|
||||
|
||||
<div id="page-content" class="row">
|
||||
<section id="region-main" class="col-12" aria-label="{{#str}}content{{/str}}">
|
||||
<div id="region-main" class="col-12">
|
||||
{{{ output.main_content }}}
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -48,7 +48,7 @@
|
|||
<div id="page" class="container-fluid">
|
||||
{{! Secured full header }}
|
||||
|
||||
<div id="page-header" class="row">
|
||||
<header id="page-header" class="row">
|
||||
<div class="col-12 py-3">
|
||||
<div class="page-context-header">
|
||||
<div class="page-header-headings">
|
||||
|
@ -56,11 +56,11 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<div id="page-content" class="row">
|
||||
<div id="region-main-box" class="col-12">
|
||||
<section id="region-main" {{#hasblocks}}class="has-blocks"{{/hasblocks}} aria-label="{{#str}}content{{/str}}">
|
||||
<div id="region-main" {{#hasblocks}}class="has-blocks"{{/hasblocks}}>
|
||||
|
||||
{{{ output.course_content_header }}}
|
||||
{{#headercontent}}
|
||||
|
@ -69,11 +69,11 @@
|
|||
{{{ output.main_content }}}
|
||||
{{{ output.course_content_footer }}}
|
||||
|
||||
</section>
|
||||
</div>
|
||||
{{#hasblocks}}
|
||||
<section data-region="blocks-column" aria-label="{{#str}}blocks{{/str}}">
|
||||
<div data-region="blocks-column">
|
||||
{{{ sidepreblocks }}}
|
||||
</section>
|
||||
</div>
|
||||
{{/hasblocks}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -27773,41 +27773,41 @@ table.calendartable caption {
|
|||
}
|
||||
}
|
||||
@media (min-width: 768px) {
|
||||
section:not(#region-main) .block.block_calendar_month .maincalendar div.header {
|
||||
[data-blockregion]:not([data-blockregion=content]) .block.block_calendar_month .maincalendar div.header {
|
||||
visibility: hidden;
|
||||
height: 0;
|
||||
}
|
||||
section:not(#region-main) .block.block_calendar_month .maincalendar .calendarwrapper .current {
|
||||
[data-blockregion]:not([data-blockregion=content]) .block.block_calendar_month .maincalendar .calendarwrapper .current {
|
||||
width: 40%;
|
||||
font-size: inherit;
|
||||
line-height: inherit;
|
||||
}
|
||||
section:not(#region-main) .block.block_calendar_month .maincalendar .calendarwrapper .previous,
|
||||
section:not(#region-main) .block.block_calendar_month .maincalendar .calendarwrapper .next {
|
||||
[data-blockregion]:not([data-blockregion=content]) .block.block_calendar_month .maincalendar .calendarwrapper .previous,
|
||||
[data-blockregion]:not([data-blockregion=content]) .block.block_calendar_month .maincalendar .calendarwrapper .next {
|
||||
width: 30%;
|
||||
}
|
||||
section:not(#region-main) .block.block_calendar_month .maincalendar .calendarwrapper .previous .arrow_text,
|
||||
section:not(#region-main) .block.block_calendar_month .maincalendar .calendarwrapper .next .arrow_text {
|
||||
[data-blockregion]:not([data-blockregion=content]) .block.block_calendar_month .maincalendar .calendarwrapper .previous .arrow_text,
|
||||
[data-blockregion]:not([data-blockregion=content]) .block.block_calendar_month .maincalendar .calendarwrapper .next .arrow_text {
|
||||
display: none;
|
||||
}
|
||||
section:not(#region-main) .block.block_calendar_month .maincalendar .calendartable.calendarmonth th,
|
||||
section:not(#region-main) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td {
|
||||
[data-blockregion]:not([data-blockregion=content]) .block.block_calendar_month .maincalendar .calendartable.calendarmonth th,
|
||||
[data-blockregion]:not([data-blockregion=content]) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td {
|
||||
border: none;
|
||||
text-align: center !important;
|
||||
padding: 0;
|
||||
}
|
||||
section:not(#region-main) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td {
|
||||
[data-blockregion]:not([data-blockregion=content]) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td {
|
||||
height: auto;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
section:not(#region-main) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td.hasevent [data-region=day-content] {
|
||||
[data-blockregion]:not([data-blockregion=content]) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td.hasevent [data-region=day-content] {
|
||||
display: none;
|
||||
}
|
||||
section:not(#region-main) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td.hasevent .day-number {
|
||||
[data-blockregion]:not([data-blockregion=content]) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td.hasevent .day-number {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
}
|
||||
section:not(#region-main) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td.hasevent .day-number:before {
|
||||
[data-blockregion]:not([data-blockregion=content]) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td.hasevent .day-number:before {
|
||||
content: ".";
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
|
@ -27818,19 +27818,19 @@ table.calendartable caption {
|
|||
font-size: 3em;
|
||||
color: inherit;
|
||||
}
|
||||
section:not(#region-main) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td:after {
|
||||
[data-blockregion]:not([data-blockregion=content]) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td:after {
|
||||
content: "";
|
||||
display: block;
|
||||
margin-top: calc(100% - 26px);
|
||||
}
|
||||
section:not(#region-main) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td.clickable:hover {
|
||||
[data-blockregion]:not([data-blockregion=content]) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td.clickable:hover {
|
||||
background-color: inherit;
|
||||
}
|
||||
section:not(#region-main) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td.clickable:not(.today):hover .day-number-circle {
|
||||
[data-blockregion]:not([data-blockregion=content]) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td.clickable:not(.today):hover .day-number-circle {
|
||||
border-radius: 50%;
|
||||
background-color: #ededed;
|
||||
}
|
||||
section:not(#region-main) .block.block_calendar_month .bottom {
|
||||
[data-blockregion]:not([data-blockregion=content]) .block.block_calendar_month .bottom {
|
||||
border-top: 1px solid rgba(0, 0, 0, 0.125);
|
||||
padding-top: 0.5rem;
|
||||
}
|
||||
|
|
|
@ -66,7 +66,7 @@
|
|||
<div> {{{ output.region_main_settings_menu }}} </div>
|
||||
</div>
|
||||
{{/hasregionmainsettingsmenu}}
|
||||
<section id="region-main" class="region-main-content" aria-label="{{#str}}content{{/str}}">
|
||||
<div id="region-main" class="region-main-content">
|
||||
{{#hasregionmainsettingsmenu}}
|
||||
<div class="region_main_settings_menu_proxy"></div>
|
||||
{{/hasregionmainsettingsmenu}}
|
||||
|
@ -77,18 +77,18 @@
|
|||
{{{ output.main_content }}}
|
||||
{{{ output.activity_navigation }}}
|
||||
{{{ output.course_content_footer }}}
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
<div class="columnleft blockcolumn {{#haspreblocks}} has-blocks {{/haspreblocks}}">
|
||||
<section data-region="blocks-column" class="d-print-none" aria-label="{{#str}}blocks{{/str}}">
|
||||
<div data-region="blocks-column" class="d-print-none">
|
||||
{{{ sidepreblocks }}}
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="columnright blockcolumn {{#haspostblocks}} has-blocks {{/haspostblocks}}">
|
||||
<section data-region="blocks-column" class="d-print-none" aria-label="{{#str}}blocks{{/str}}">
|
||||
<div data-region="blocks-column" class="d-print-none">
|
||||
{{{ sidepostblocks }}}
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
<div id="page" class="container-fluid">
|
||||
<div id="page-content" class="row">
|
||||
<div id="region-main-box" class="col-12">
|
||||
<section id="region-main" aria-label="{{#str}}content{{/str}}">
|
||||
<div id="region-main">
|
||||
{{{ output.course_content_header }}}
|
||||
{{#headercontent}}
|
||||
{{> core/activity_header }}
|
||||
|
@ -62,7 +62,7 @@
|
|||
{{{ output.main_content }}}
|
||||
{{{ output.activity_navigation }}}
|
||||
{{{ output.course_content_footer }}}
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -59,7 +59,7 @@
|
|||
<div id="page" class="container-fluid">
|
||||
{{! Secured full header }}
|
||||
|
||||
<div id="page-header" class="row">
|
||||
<header id="page-header" class="row">
|
||||
<div class="col-12 py-3">
|
||||
<div class="page-context-header">
|
||||
<div class="page-header-headings">
|
||||
|
@ -67,11 +67,11 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<div id="page-content" class="row {{#haspreblocks}} blocks-pre {{/haspreblocks}} {{#haspostblocks}} blocks-post {{/haspostblocks}}">
|
||||
<div id="region-main-box" class="region-main">
|
||||
<section id="region-main" aria-label="{{#str}}content{{/str}}">
|
||||
<div id="region-main">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
{{{ output.course_content_header }}}
|
||||
|
@ -82,18 +82,18 @@
|
|||
{{{ output.course_content_footer }}}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
<div class="columnleft {{#haspreblocks}} has-blocks {{/haspreblocks}}">
|
||||
<section data-region="blocks-column" class="d-print-none" aria-label="{{#str}}blocks{{/str}}">
|
||||
<div data-region="blocks-column" class="d-print-none">
|
||||
{{{ sidepreblocks }}}
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="columnright {{#haspostblocks}} has-blocks {{/haspostblocks}}">
|
||||
<section data-region="blocks-column" class="d-print-none" aria-label="{{#str}}blocks{{/str}}">
|
||||
<div data-region="blocks-column" class="d-print-none">
|
||||
{{{ sidepostblocks }}}
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -289,7 +289,7 @@ class behat_theme_classic_behat_navigation extends behat_navigation {
|
|||
protected function select_on_administration_page($nodelist) {
|
||||
$parentnodes = $nodelist;
|
||||
$lastnode = array_pop($parentnodes);
|
||||
$xpath = '//section[@id=\'region-main\']';
|
||||
$xpath = '//div[@id=\'region-main\']';
|
||||
|
||||
// Check if there is a separate tab for this submenu of the page. If found go to it.
|
||||
if ($parentnodes) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue