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.
39 lines
1.0 KiB
Plaintext
39 lines
1.0 KiB
Plaintext
<% content_for :body_class, "home-page" %>
|
|
|
|
<% content_for :canonical do %>
|
|
<%= render "shared/canonical", href: root_url %>
|
|
<% end %>
|
|
|
|
<%= render Shared::BannerComponent.new("homepage") %>
|
|
|
|
<% provide :social_media_meta_tags do %>
|
|
<%= render "shared/social_media_meta_tags",
|
|
social_url: root_url %>
|
|
<% end %>
|
|
|
|
<%= render "shared/header", header: @header %>
|
|
|
|
<%= render "feeds" %>
|
|
|
|
<div class="row">
|
|
<% if @cards.any? %>
|
|
<div class="small-12 column <%= "large-8" if feed_processes_enabled? %>">
|
|
<h2 class="title"><%= t("welcome.cards.title") %></h2>
|
|
|
|
<%= render "shared/cards", cards: @cards %>
|
|
</div>
|
|
<% end %>
|
|
|
|
<% if feed_processes_enabled? %>
|
|
<div class="small-12 large-4 column">
|
|
<%= render "processes" %>
|
|
</div>
|
|
<% end %>
|
|
</div>
|
|
|
|
<% if feature?("user.recommendations") && (@recommended_debates.present? || @recommended_proposals.present?) %>
|
|
<%= render "recommended",
|
|
recommended_debates: @recommended_debates,
|
|
recommended_proposals: @recommended_proposals %>
|
|
<% end %>
|