Many pages had this tag, but many other didn't, which made navigation inconsistent for people using screen readers. Note that there are slight changes in two pages: * The homepage now includes the banner and the content of the `shared/header` element inside the <main> tag * The budgets index now includes the banner inside the <main> tag I see both potential advantages and disadvantages of this approach, since banners aren't necessarily related to the main content of a page but on the other hand they aren't the same across pages and people using screen readers might accidentally skip them if they jump to the <main> tag. So I'm choosing the option that is easier to implement. Note we're adding a `public-content` class to the <main> element in the application layout. This might be redundat because the element could already be accessed through the `.public main` selector, but this is consistent with the `admin-content` class used in the admin section, and without it the <main> element would sometimes have an empty class attribute and we'd have to use `if content_for?(:main_class)` or `tag.main` which IMHO makes the code less consistent. The Capybara::DSL monkey-patch is only done on the `visit` method because it's the only reliable one. Other methods like `click_link` generate AJAX requests, so `expect(page).to have_css "main", count: 1` might be executed before the AJAX request is finished, meaning it wouldn't properly test anything.
36 lines
1.1 KiB
Plaintext
36 lines
1.1 KiB
Plaintext
<!DOCTYPE html>
|
|
<html <%= common_html_attributes %>>
|
|
<head>
|
|
<%= render "layouts/common_head", default_title: "Admin" %>
|
|
<%= render "layouts/no_script" %>
|
|
<%= content_for :head %>
|
|
</head>
|
|
|
|
<body class="admin">
|
|
<%= render Layout::AdminHeaderComponent.new(current_user) %>
|
|
|
|
<div class="menu-and-content">
|
|
<%= check_box_tag :show_menu, nil, false, role: "switch" %>
|
|
|
|
<nav id="side_menu" class="admin-sidebar">
|
|
<% if namespace == "admin" %>
|
|
<%= render Admin::MenuComponent.new %>
|
|
<% elsif namespace == "sdg_management" %>
|
|
<%= render SDGManagement::MenuComponent.new %>
|
|
<% else %>
|
|
<%= render "/#{namespace}/menu" %>
|
|
<% end %>
|
|
</nav>
|
|
|
|
<main class="admin-content <%= yield(:main_class) %>">
|
|
<%= label_tag :show_menu, t("admin.menu.admin"),
|
|
"aria-hidden": true, class: "button hollow expanded" %>
|
|
|
|
<%= render "layouts/flash" %>
|
|
<%= render "layouts/officing_booth" if controller.class.module_parent == Officing && session[:booth_id].present? %>
|
|
<%= yield %>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|