<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Mahzeb</title>
    <description>The latest articles on DEV Community by Mahzeb (@mahzeb).</description>
    <link>https://dev.to/mahzeb</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F740356%2F6c44c48c-eb66-4edb-a086-a890ad730d14.jpg</url>
      <title>DEV Community: Mahzeb</title>
      <link>https://dev.to/mahzeb</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mahzeb"/>
    <language>en</language>
    <item>
      <title>Quick Accessibility: Burts Bees &amp; large target size</title>
      <dc:creator>Mahzeb</dc:creator>
      <pubDate>Sat, 04 May 2024 10:38:35 +0000</pubDate>
      <link>https://dev.to/mahzeb/quick-accessibility-burts-bees-large-target-size-3dhn</link>
      <guid>https://dev.to/mahzeb/quick-accessibility-burts-bees-large-target-size-3dhn</guid>
      <description>&lt;p&gt;This post is brought to you by me looking to order my favourite hand cream from Burts Bees through my phone.&lt;/p&gt;

&lt;p&gt;I touched the side of the page to scroll down, only to be abruptly taken to a new page. This is because the entire yellow section introducing lip care is a link. &lt;/p&gt;

&lt;p&gt;To have a large target area in this case is poor usability and accessibility because it is not obvious that the section is a link. A simple &amp;amp; straightforward fix is to only hyperlink the text 'Shop Lip Care'.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2avb4b8avhuxo7hpvpp5.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2avb4b8avhuxo7hpvpp5.jpg" alt="Burts bees homepage on mobile" width="800" height="1625"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>html</category>
      <category>a11y</category>
      <category>webdev</category>
      <category>ux</category>
    </item>
    <item>
      <title>Designing with accessibility in mind: Ubergood Festival</title>
      <dc:creator>Mahzeb</dc:creator>
      <pubDate>Fri, 03 May 2024 03:51:53 +0000</pubDate>
      <link>https://dev.to/mahzeb/designing-with-accessibility-in-mind-ubergood-festival-3o40</link>
      <guid>https://dev.to/mahzeb/designing-with-accessibility-in-mind-ubergood-festival-3o40</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Inspired by &lt;a href="https://labs.jensimmons.com/"&gt;Jen Simmon's Layout Lab&lt;/a&gt;, I will be taking design and layouts that I come across and imagining how they would be built as webpages (using HTML, CSS and JavaScript) with &lt;strong&gt;accessibility as a priority&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start of exercise
&lt;/h2&gt;

&lt;p&gt;Today I was inspired by a vibrant poster of a fictional pop music festival by designer &lt;a href="https://daytonamess.com/Info"&gt;Daytona Mess&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj38vhzqx6ksq0umb8xff.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj38vhzqx6ksq0umb8xff.jpg" alt='""' width="800" height="969"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let's focus on the artist lineup at the bottom and how that would be built out using HTML. While it may be tempting to put each name into a &lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt;, &lt;code&gt;div&lt;/code&gt; or &lt;code&gt;span&lt;/code&gt; tag like below:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;p&amp;gt;Lana Del Rey&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Lady Gaga&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Mo&amp;lt;/p&amp;gt;
...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This method fails level A requirement of WCAG 2.1 &lt;a href="https://www.w3.org/WAI/WCAG21/Techniques/html/H48"&gt;1.3.1: Info and Relationships&lt;/a&gt;. The requirement states that:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Information, structure, and relationships conveyed through presentation can be &lt;em&gt;programmatically determined&lt;/em&gt; or are available in text.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Visually, it's immediately obvious that this is a list of names because of the dots in between each name, the way the block of text is structured and through popular artist names that pop out at first glance.&lt;/p&gt;

&lt;p&gt;Programmatically, screen reader users should be able to identify that the information they're about to read is a list. Also, they can navigate back and forth to each name instead of having to read the entire &lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt; or &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; as a paragraph.&lt;/p&gt;

&lt;p&gt;The artists can be listed using the following HTML:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;h2 class="sr-only"&amp;gt;Artist lineup&amp;lt;/h2&amp;gt;
&amp;lt;ul id="artists"&amp;gt;
  &amp;lt;li&amp;gt;Lana Del Rey&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;Lady Gaga&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;Mo&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;Cruel Youth&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;Lorde&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;Marina and the Diamonds&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;Ariana Grande&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;Sevdaliza&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;Caro Emerald&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;Kali Uchis&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;Taylor Swift&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;Beyoncé&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;Melanie Martinez&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;Rihanna&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;Britney Spears&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;Katy Perry&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;Selena Gomez&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;Miley Cyrus&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;Madonna&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;Adele&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;Sia&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I have added a heading called 'Artist lineup' that isn't in the design but programmatically helps identify the purpose of the list to come.&lt;/p&gt;

&lt;h2&gt;
  
  
  CSS
&lt;/h2&gt;

&lt;p&gt;I've used flexbox with &lt;code&gt;&amp;lt;ul&amp;gt;&lt;/code&gt; as the flex container and the &lt;code&gt;&amp;lt;li&amp;gt;&lt;/code&gt;'s as the flex items.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://codepen.io/M-W-the-builder/pen/gOyNRrX"&gt;Here is the working example of the artist lineup using CodePen&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The result looks pretty close to the designer's version. Of course there are tweaks that could be made, the exact colour and font used to start.&lt;/p&gt;

&lt;h2&gt;
  
  
  Things to consider that weren't covered in this exercise
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The rest of the poster.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Whether or not the contrast of the text and the background are suitable for people with colour blindness or low vision.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;How magnifying the screen will alter the design and text. Will it overlap?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Alternatively, &lt;a href="https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/List_role"&gt;an ARIA role called list&lt;/a&gt; can be used. But why rely on ARIA if the same thing can be achieved through HTML? &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Only use role="list" and role="listitem" if you have to — for example if you don't have control over your HTML but are able to improve accessibility dynamically after the fact with JavaScript.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;My goal is to prove through this series that beautiful design can be accessible and equally experienced for everyone. Accessibility doesn't have to be limited to bland government websites and forms. It's just a matter of considering different needs throughout the process.&lt;/p&gt;

</description>
      <category>a11y</category>
      <category>css</category>
      <category>frontend</category>
      <category>wcag</category>
    </item>
    <item>
      <title>Designing with accessibility in mind: Labour Day Poster</title>
      <dc:creator>Mahzeb</dc:creator>
      <pubDate>Wed, 01 May 2024 08:53:36 +0000</pubDate>
      <link>https://dev.to/mahzeb/accessibility-exercise-2-labour-day-poster-1155</link>
      <guid>https://dev.to/mahzeb/accessibility-exercise-2-labour-day-poster-1155</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Inspired by &lt;a href="https://labs.jensimmons.com/"&gt;Jen Simmon's Layout Lab&lt;/a&gt;, I will be taking design and layouts that I come across and imagining how they would be built as webpages (using HTML, CSS and JavaScript) with &lt;strong&gt;accessibility as a priority&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start of exercise
&lt;/h2&gt;

&lt;p&gt;Today's exercise is using a funky Labour Day poster that caught my attention. Let's imagine this as a web page and figure out how to recreate it using HTML, CSS and JavaScript while keeping accessibility in mind!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fal46vl097rsc2mfwepe8.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fal46vl097rsc2mfwepe8.jpg" alt="Labour day poster" width="800" height="1066"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At first glance it's clear that plenty of CSS magic will be needed to bring these twisted letters and sentences to life as they are in this design.&lt;/p&gt;

&lt;p&gt;Let's start by deciding the HTML structure of the page and imagine how a screen reader user would best map out this information.&lt;/p&gt;

&lt;p&gt;I landed on the following:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
&amp;lt;H1&amp;gt;Labour day &amp;amp; Eve Party&amp;lt;/H1&amp;gt;
&amp;lt;p&amp;gt;Live Music &amp;amp; DJS&amp;lt;/p&amp;gt;
&amp;lt;H2 class="sr-only"&amp;gt;Dates&amp;lt;/H2&amp;gt;
 &amp;lt;ul&amp;gt;
  &amp;lt;li&amp;gt;Monday 11 March&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;Sunday 10 March&amp;lt;/li&amp;gt;
 &amp;lt;/ul&amp;gt;
&amp;lt;H2 class="sr-only"&amp;gt;Details&amp;lt;/H2&amp;gt;
   &amp;lt;ul&amp;gt;
        &amp;lt;li&amp;gt;Food &amp;amp; drinks specials&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;Open both days til'late&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;No cover charge&amp;lt;/li&amp;gt;
    &amp;lt;/ul&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let me explain:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;I believe 'Labour Day &amp;amp; Eve Party' is an apt title because it clearly states the meaning of the page, which is to advertise the Labour Day event.&lt;/li&gt;
&lt;li&gt;'Live Music &amp;amp; DJs' is a piece of information about the event, but not necessarily a heading. I think a &lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt; tag is fine.&lt;/li&gt;
&lt;li&gt;I've added two level H2 headings named 'Dates' and 'Details' that are not present in the design. The titles create clear distinct sections that would help screen reader users map out the page and jump to sections.&lt;/li&gt;
&lt;li&gt;The dates and the details are lists, so they are written as lists.&lt;/li&gt;
&lt;li&gt;'Live Music &amp;amp; DJs' can also be written as a list item under the 'Details' heading and displayed differently using CSS. However, that would create even more of a mismatch between the reading order and visual order.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
&amp;lt;H1&amp;gt;Labour day &amp;amp; Eve Party&amp;lt;/H1&amp;gt;
&amp;lt;H2 class="sr-only"&amp;gt;Dates&amp;lt;/H2&amp;gt;
 &amp;lt;ul&amp;gt;
  &amp;lt;li&amp;gt;Monday 11 March&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;Sunday 10 March&amp;lt;/li&amp;gt;
 &amp;lt;/ul&amp;gt;
&amp;lt;H2 class="sr-only"&amp;gt;Details&amp;lt;/H2&amp;gt;
   &amp;lt;ul&amp;gt;
        &amp;lt;li&amp;gt;Live Music &amp;amp; DJS&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;Food &amp;amp; drinks specials&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;Open both days til'late&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;No cover charge&amp;lt;/li&amp;gt;
    &amp;lt;/ul&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I did attempt to recreate this page using CSS but the H1 letters were tricky. My method was to use CSS grid + JavaScript to separate the letters into specific spots. I have left it alone for the sake of my own time, sanity and the scope of this exercise.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note: These are exercises are mostly for my own learning, so please read with caution as they might be incorrect. If you know of better method, or something I said was wrong, I would love to hear your feedback!&lt;/em&gt;&lt;/p&gt;

</description>
      <category>a11y</category>
      <category>javascript</category>
      <category>html</category>
      <category>css</category>
    </item>
    <item>
      <title>Designing with accessibility in mind: Pound Cafe Menu</title>
      <dc:creator>Mahzeb</dc:creator>
      <pubDate>Tue, 30 Apr 2024 13:34:17 +0000</pubDate>
      <link>https://dev.to/mahzeb/accessibility-exercise-1-pound-cafe-menu-4787</link>
      <guid>https://dev.to/mahzeb/accessibility-exercise-1-pound-cafe-menu-4787</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Inspired by &lt;a href="https://labs.jensimmons.com/"&gt;Jen Simmon's Layout Lab&lt;/a&gt;, I will be taking design and layouts that I come across and imagining how they would be built as webpages (using HTML, CSS and JavaScript) with &lt;strong&gt;accessibility as a priority&lt;/strong&gt;. &lt;/p&gt;

&lt;h2&gt;
  
  
  Start of exercise
&lt;/h2&gt;

&lt;p&gt;In this exercise I'll be focusing on the headings of a menu from a coffee shop called Pound Cafe.&lt;/p&gt;

&lt;p&gt;The order of headings is a straightforward place to start when it comes to accessibility. It's especially important for screen reader users that rely on a verbal description of a page in order to understand it. Screen reader users rely on distinct and logically ordered headings to easily navigate a page.&lt;/p&gt;

&lt;h2&gt;
  
  
  HTML
&lt;/h2&gt;

&lt;p&gt;Here is the menu, I only focused on the left half:&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd29y46k18ih3it14s17d.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd29y46k18ih3it14s17d.jpg" alt="Pound cafes menu" width="800" height="1093"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If I was to build this menu as a webpage, the headings would look like this in HTML:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;H1 class="sr-only"&amp;gt;Menu of Pound Cafe&amp;lt;/H1&amp;gt;
   &amp;lt;H2 class="sr-only"&amp;gt;Mains&amp;lt;/H2&amp;gt;
     &amp;lt;H3&amp;gt;Toast with Spreads&amp;lt;/H3&amp;gt;
     &amp;lt;H3&amp;gt;Fruit toast or banana bread with butter&amp;lt;/H3&amp;gt;
     &amp;lt;H3&amp;gt;Bircher muesli&amp;lt;/H3&amp;gt;
     &amp;lt;H3&amp;gt;Porridge&amp;lt;/H3&amp;gt;
     &amp;lt;H3&amp;gt;Avocado Toast&amp;lt;/H3&amp;gt;
     &amp;lt;H3&amp;gt;Heirloom tomato toast&amp;lt;/H3&amp;gt;
     &amp;lt;H3&amp;gt;Spanish omelette&amp;lt;/H3&amp;gt;
     &amp;lt;H3&amp;gt;Eggs on toast&amp;lt;/H3&amp;gt;
     &amp;lt;H3&amp;gt;Eggs benedict/florentine&amp;lt;/H3&amp;gt;
       &amp;lt;H4&amp;gt;Bacon or ham&amp;lt;/H4&amp;gt;
       &amp;lt;H4&amp;gt;Salmon&amp;lt;/H4&amp;gt;
       &amp;lt;H4&amp;gt;Sauteed spinach&amp;lt;/H4&amp;gt;
   &amp;lt;H2 class="v-h3"&amp;gt;Sides&amp;lt;/H2&amp;gt;
     &amp;lt;H3 class="v-p"&amp;gt;Bacon, chorizo, salmon, goats cheese, avocado&amp;lt;/H3&amp;gt; 
     &amp;lt;H3 class="v-p"&amp;gt;Spinach, tomato, asparagus, mushrooms&amp;lt;/H3&amp;gt;
     &amp;lt;H3 class="v-p"&amp;gt;Extra Egg&amp;lt;/H3&amp;gt;
     &amp;lt;H3 class="v-p"&amp;gt;Hollandaise&amp;lt;/H3&amp;gt;
     &amp;lt;H3 class="v-p"&amp;gt;Fresh chilli, sriracha&amp;lt;/H3&amp;gt;
     &amp;lt;H3 class="v-p"&amp;gt;Hash brown&amp;lt;/H3&amp;gt;
  &amp;lt;H2 class="v-h3"&amp;gt;Recovery&amp;lt;/H3&amp;gt;
     &amp;lt;H3 class="v-p"&amp;gt;Mimosa&amp;lt;/H3&amp;gt;
     &amp;lt;H3 class="v-p"&amp;gt;Bloody Mary&amp;lt;/H3&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Notes
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. There is a missing H1 on the page.
&lt;/h3&gt;

&lt;p&gt;The Pound Cafe logo can technically be a substitute for a H1, but it is best practice to have one distinctly labeled H1 on each page &lt;a href="https://csswizardry.com/2010/10/your-logo-is-an-image-not-a-h1/"&gt;that is not a logo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Solution&lt;/u&gt;: Insert a visually hidden H1 at the start of the page. This heading can be read by a screen reader.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. There is a missing heading before the food options are listed
&lt;/h3&gt;

&lt;p&gt;Solution: Insert a visually hidden H2 above the food options. This heading can be read by a screen reader.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Visual and logical order of headings vary
&lt;/h3&gt;

&lt;p&gt;'Mains', 'Sides' and 'Recovery' are hierarchically at the same level (H2) since they describe a category of food/drink. Visually however, 'Sides' and 'Recovery' look like the food options under 'Mains', which are H3s.&lt;/p&gt;

&lt;p&gt;Consequently, the options under 'Sides' and 'Recovery' are H3 headings but look like the descriptions that I would write as &lt;code&gt;&amp;lt;P&amp;gt;&lt;/code&gt; elements.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Solution:&lt;/u&gt; Visually change the font using CSS.&lt;/p&gt;

&lt;p&gt;Many of the issues stated can be addressed during the design process before the page gets built. For the sake of this exercise, I've kept the design as I see it and stated how I would work around them.&lt;/p&gt;

&lt;p&gt;I am excited to take a look at more menus and print design and how it would translate to the web!&lt;/p&gt;

</description>
      <category>a11y</category>
      <category>semantic</category>
      <category>html</category>
      <category>learning</category>
    </item>
    <item>
      <title>Keyboard only accessibility test: OAK + FORT</title>
      <dc:creator>Mahzeb</dc:creator>
      <pubDate>Wed, 10 Nov 2021 23:42:08 +0000</pubDate>
      <link>https://dev.to/mahzeb/keyboard-only-accessibility-test-oak-fort-54k2</link>
      <guid>https://dev.to/mahzeb/keyboard-only-accessibility-test-oak-fort-54k2</guid>
      <description>&lt;p&gt;Day 3: OAK + FORT's&lt;br&gt;
Topic: Tabbing through the sort &amp;amp; filter feature&lt;/p&gt;

&lt;h1&gt;
  
  
  Failed
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.w3.org/WAI/WCAG21/quickref/#keyboard"&gt;2.1.1 Keyboard Level A&lt;/a&gt;&lt;/strong&gt;(solution TBD)&lt;br&gt;
The 'see more' button is skipped in the tabbing order. The focus jumps from 6 to beige.&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F81hkjt6pkut0ae1g425u.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F81hkjt6pkut0ae1g425u.PNG" alt="A checkbox labeled 6, a button labeled see more and another checkbox labeled beige, all vertically lined up." width="146" height="170"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.w3.org/WAI/WCAG21/quickref/#focus-visible"&gt;2.4.7 Focus Visible&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
Under 'filter', the checkboxes and their respective labels do not have visible focus indicators.&lt;/p&gt;

&lt;h1&gt;
  
  
  Passed
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.w3.org/WAI/WCAG21/quickref/#no-keyboard-trap"&gt;2.1.2 No Keyboard Trap Level A&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
Surprisingly enough the keyboard focus does not trapped. But it does disappear on many occasions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.w3.org/WAI/WCAG21/quickref/#bypass-blocks"&gt;2.4.1 Bypass Blocks&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
Users have the option of skipping the main navigation. It would be helpful to allow users to skip the sort/filter section as well.&lt;/p&gt;

&lt;h1&gt;
  
  
  Passed but could be better
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Sort &amp;amp; filter feature&lt;/strong&gt;&lt;br&gt;
Checkboxes are checked/unchecked using different keys. The options under 'filter' are toggled using the spacebar, whereas the options under 'size' require the enter key. Too much cognitive load is expended figuring out how to toggle boxes that look the same, and serve the same purpose (filtering items). Many keyboard only users might assume it isn't possible and leave the site entirely.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Losing focus&lt;/strong&gt;&lt;br&gt;
Visible focus is lost between various features such as after the main navigation and before the sort/filter feature. The user will find it difficult to locate their location on the page.&lt;/p&gt;

</description>
      <category>a11y</category>
      <category>keyboard</category>
      <category>testing</category>
      <category>html</category>
    </item>
    <item>
      <title>Keyboard only accessibility test: MoMA</title>
      <dc:creator>Mahzeb</dc:creator>
      <pubDate>Wed, 10 Nov 2021 02:29:40 +0000</pubDate>
      <link>https://dev.to/mahzeb/keyboard-only-accessibility-test-moma-4634</link>
      <guid>https://dev.to/mahzeb/keyboard-only-accessibility-test-moma-4634</guid>
      <description>&lt;p&gt;**Accessibility test series&lt;br&gt;
MoMA's homepage&lt;/p&gt;

&lt;h1&gt;
  
  
  Failed
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://www.w3.org/WAI/WCAG21/quickref/#bypass-blocks"&gt;2.4.1 Bypass Blocks&lt;/a&gt;&lt;br&gt;
A 'skip to main content' button is missing.&lt;/p&gt;

&lt;h1&gt;
  
  
  Passed
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://www.w3.org/WAI/WCAG21/quickref/#no-keyboard-trap"&gt;2.1.2 No Keyboard Trap Level A&lt;/a&gt;&lt;br&gt;
Simple, I was not trapped.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.w3.org/WAI/WCAG21/quickref/#keyboard-no-exception"&gt;2.1.3 Keyboard (No Exception) Level AAA&lt;/a&gt;&lt;br&gt;
Yup, everything including signing up for their newsletter was possible with just my keyboard!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.w3.org/WAI/WCAG21/quickref/#focus-visible"&gt;2.4.7 Focus Visible Level AA&lt;/a&gt;&lt;br&gt;
I appreciate MoMA's thick focus indicator which varies in colour depending on the background. It is integrated well into the design of their website.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;An element out of focus&lt;/em&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqh6h3g3nyaxdpz1kms8z.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqh6h3g3nyaxdpz1kms8z.PNG" alt="A banner highlighting an exhibit on architecture from China." width="800" height="323"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;An element in focus&lt;/em&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flr97aj12ijeco9sdywnp.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flr97aj12ijeco9sdywnp.PNG" alt="A banner highlighting an exhibit on architecture from China. The element is in focus so it has a thick black border around the text." width="800" height="325"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>a11y</category>
      <category>testing</category>
      <category>keyboard</category>
      <category>html</category>
    </item>
    <item>
      <title>Keyboard only accessibility: Aesop's homepage</title>
      <dc:creator>Mahzeb</dc:creator>
      <pubDate>Tue, 09 Nov 2021 07:24:13 +0000</pubDate>
      <link>https://dev.to/mahzeb/keyboard-only-accessibility-test-aesop-2khb</link>
      <guid>https://dev.to/mahzeb/keyboard-only-accessibility-test-aesop-2khb</guid>
      <description>&lt;p&gt;&lt;strong&gt;Day 3:&lt;/strong&gt; Aesop&lt;br&gt;
&lt;strong&gt;Topic:&lt;/strong&gt; Tabbing through with a keyboard&lt;/p&gt;

&lt;p&gt;Today I am testing &lt;a href="https://www.aesop.com/"&gt;Aesop's homepage&lt;/a&gt; using only a keyboard using the criterion outlined in WCAG 2.1.&lt;/p&gt;

&lt;h1&gt;
  
  
  Failed
&lt;/h1&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://www.w3.org/WAI/WCAG21/quickref/#bypass-blocks"&gt;2.4.1 Bypass Blocks (Level A)&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A 'Skip to content' button is missing from Aesop's site. This button ensures that users don't have to repeatedly tab through the navigation links on every page they visit. It's a good thing Aesop has a minimalist menu, very on brand for them!&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://www.w3.org/WAI/WCAG21/Understanding/focus-order.html"&gt;2.4.7 Focus Visible (Level AA)&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Most outlines on focus are too thin to notice. The links in the footer and the button for the help widget do not have a focus indicator.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Aesop's main navigation with the link 'Read' in focus&lt;/em&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxtbi3z864crqhr5b8t5h.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxtbi3z864crqhr5b8t5h.PNG" alt="Aesop's navigation links: shop, read, stores and there is a magnifying glass icon. Read is outlined with a thin grey dashed rectangle to indicate keyboard focus." width="259" height="82"&gt;&lt;/a&gt;&lt;br&gt;
The focus indicator lost in the abyss of the dark grey footer&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F778vx3edvk40neihkea8.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F778vx3edvk40neihkea8.PNG" alt="The footer area which has a dark grey background and beige text. A circle button with a chat dialogue icon sits in the bottom right corner. No focus indicator is present." width="800" height="239"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The focus indicators of certain CTA buttons however were present and pleasant!&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Button without keyboard focus.&lt;/em&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftlgqc4fsw2z4c4qdwfm5.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftlgqc4fsw2z4c4qdwfm5.PNG" alt="A beige rectangle button with a thin grey outline reading Browse all gifts. The button has no keyboard focus." width="348" height="98"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Button with keyboard focus.&lt;/em&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F576xhksmuz8ehcyr3xvj.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F576xhksmuz8ehcyr3xvj.PNG" alt="A dark grey rectangle button with beige text reading Browse all gifts. The button has keyboard focus." width="343" height="100"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Passed
&lt;/h1&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://www.w3.org/WAI/WCAG21/quickref/#keyboard"&gt;2.1.2 No Keyboard Trap&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The tab focus does not get trapped at any point. Users can freely move to and away from elements using only the keyboard.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://www.w3.org/WAI/WCAG21/quickref/#keyboard-no-exception"&gt;2.1.3 Keyboard (No Exception) Level AAA&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The functionality of all the content on Aesop's homepage is in fact operable through a keyboard.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://www.w3.org/WAI/WCAG21/quickref/#focus-order"&gt;2.4.3: Focus Order (Level A)&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;All links, buttons and inputs receive focus using the keyboard &lt;em&gt;technically&lt;/em&gt;, but not visibly as mentioned above.&lt;/p&gt;

&lt;h1&gt;
  
  
  Passed but could be better
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Tabbing logic of the sub-menu
&lt;/h2&gt;

&lt;p&gt;Using the sub-menu is a bit tricky because it's unclear how to get to the sub-links without a mouse. After tabbing through and landing on the 'Aesop' link, the arrow keys are required to navigate to sub-links Skin Care, Hair, Body &amp;amp; Hand ext. A keyboard user may get trapped and not be able to figure out how to navigate to the sub-pages.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The sub-menu after selecting 'Shop' in the main menu, then tabbing to the 'Aesop' heading&lt;/em&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F97tai7p7icld671mm616.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F97tai7p7icld671mm616.PNG" alt="There are four links on the top left that read: shop (which is underlined), read, stores, search and an x. Underneath are seven sub-links which read: Aesop (that is outline in thin grey rectangle), skin care, hair, body and hand, fragrance, home, kits and travel, gifts." width="480" height="843"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Tabbing logic of the Shipping module
&lt;/h2&gt;

&lt;p&gt;When tabbing through the Shipping module, the keyboard navigates back to the main page with the module still open. Ideally, the focus would remain within the module until the user decides to close it.&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjmaih4u15k090ju2fxx5.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjmaih4u15k090ju2fxx5.PNG" alt="A module outlining Shipping information is overlaying the left half of the sites main page. The Login link on the main page has a focus indicator, a thing grey dashed border, despite the module being open." width="800" height="246"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>a11y</category>
      <category>html</category>
      <category>testing</category>
      <category>tab</category>
    </item>
  </channel>
</rss>
