So a few notes here re. the structure (this is a really nicely put together page btw).
The important one is that you’ve put the headers in <header>
elements. <header>
is a sectioning element, it is used to contain other elements, not text directly. Navigation between parts of a page using accessibility tech normally relies on headers within the document, ie <h1>
, <h2>
&c. <header>
is used to contain elements such as that, plus (for example) some subheaders or explanatory text or images or whatever. It’s useful to have those <header>
s, but you don’t need them, you can replace them with <h1>
s.
Technically you can use <h1>
throughout, beacuase the semantics are that each section of the document can have its own <h1>
, so in your case you have a document, with two base sections (<nav>
and <main>
). They can each have an h1. Then each section in main can have an h1, and so on.
However this can produce weird results in some accessibility software (and some SEO stuff). So generally you’d want one <h1>
(the title for the whole document), then can use <h2>
for all the rest of the titles.
So example structure:
<body>
<!-- This will implicitly be treated as the document's overall header -->
<header>
<h1>Document title</h1>
<h2>Subheader</h2>
<p>Maybe some extra info</p>
</header>
<!-- This will implicitly be treated as the document's overall navigation -->
<nav>
<h2>Document navigation</h2>
<ul>
<li><a href="#a">Link to a</a></li>
<li><a href="#b">Link to b</a></li>
<li><a href="#c">Link to c</a></li>
</ul>
</nav>
<main>
<section id="a">
<h2>Section a title</h2>
<!-- stuff here -->
</section>
<section id="b">
<h2>Section b title</h2>
<!-- stuff here -->
</section>
<section id="c">
<h2>Section c title</h2>
<!-- stuff here -->
</section>
</body>
So you don’t need <header>
elements at all here in your code, an <h1>
in the nav + <h2>
s in the sections will be fine. It’s useful though.
Next thing is this:
<p class="quote">
"We believe this is a transformational moment for technology and social justice. The need is obvious. Let's do something about it." -Erin Baudo Felter
</p>
A <blockquote>
element is used to denote quoted text taken from another source.
<blockquote cite="https://where-this-quote-came.from">
<p>We believe this is a transformational moment for technology and social justice. The need is obvious. Let's do something about it.</p>
</blockquote>
<p>
So, rules are:
- It’s a containing element, so you can wrap text in the
<blockquote>
in something like a <p>
.
- The attribution must be outside the
<blockquote>
element.
- The
<blockquote>
may have a citation, passed as the cite
attribute. That citation must be a url pointing at the source. Leave it off if you don’t have one.
Styling becomes fiddly, and you need a way to link the attribution to the quote.
A <figure>
element is designed for usecases like this:
<figure>
<blockquote cite="https://where-this-quote-came.from">
<p>"The power of the Web is in its universality. Access by everyone regardless of disability is an essential aspect."</p>
</blockquote>
<figcaption> Tim Berners Lee</figcaption>
</figure>
<figure>
also works really well for your examples (you can provide descriptions and access software will be able to easily understand the link between the images/text and the description of them).
(I’ll leave it at that for the minute, there are some other minor issues but these are most immediately fixable & should bump the rating up to top level)