<?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: Praise Agbabiaka</title>
    <description>The latest articles on DEV Community by Praise Agbabiaka (@praiztech).</description>
    <link>https://dev.to/praiztech</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%2F1177654%2F3dda3c81-77fc-4fc1-8a05-93d4488c0e1e.jpg</url>
      <title>DEV Community: Praise Agbabiaka</title>
      <link>https://dev.to/praiztech</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/praiztech"/>
    <language>en</language>
    <item>
      <title>Building My First Wagtail Site</title>
      <dc:creator>Praise Agbabiaka</dc:creator>
      <pubDate>Mon, 30 Oct 2023 04:09:01 +0000</pubDate>
      <link>https://dev.to/praiztech/building-my-first-wagtail-site-3hj7</link>
      <guid>https://dev.to/praiztech/building-my-first-wagtail-site-3hj7</guid>
      <description>&lt;p&gt;Software development is an ever-changing field. Often, one has to pick up new technologies rather quickly. This was the case for me with Wagtail. And thanks to its simplicity, I was able to do so in no time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Wagtail?
&lt;/h2&gt;

&lt;p&gt;An opportunity to improve the accessibility of websites built with Wagtail opened up recently. And I immediately jumped on it. I was so excited at the prospect of putting my accessibility skills to use that I didn’t give much thought to the fact that I had no experience with Wagtail. I figured I could pick up Wagtail quickly enough if I put my mind to it. And since I learn best by doing, I decided to build a blog site to gain hands-on experience with Wagtail.&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s Wagtail?
&lt;/h2&gt;

&lt;p&gt;Wagtail is an open-source Content Management System built on Django. So, much of the process for building websites with Django translates directly to Wagtail. But Wagtail abstracts the need to define &lt;code&gt;urls&lt;/code&gt;, &lt;code&gt;views&lt;/code&gt; and &lt;code&gt;admin&lt;/code&gt; functionality. In Wagtail, emphasis is placed on page and page content. Every page is built from a Django model that inherits from Wagtail’s &lt;code&gt;Page&lt;/code&gt; model. Wagtail also provides a number of custom template tags and filters that extend the capabilities of the Django templating engine.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building the Blog Site
&lt;/h2&gt;

&lt;p&gt;I decided that my blog site would have a home page, a blog index page, blog post pages, and an about page. Since a home app comes out of the box with Wagtail, I only had to create a base and blog app for my Wagtail project.&lt;/p&gt;

&lt;p&gt;In the home app, I updated the &lt;code&gt;HomePage&lt;/code&gt; model to include fields for a hero image, heading, introduction and link to the blog index page. I defined the image and link fields as a &lt;code&gt;Foreignkey&lt;/code&gt; to Wagtail’s &lt;code&gt;Image&lt;/code&gt; and &lt;code&gt;Page&lt;/code&gt; models, respectively.&lt;/p&gt;

&lt;p&gt;As the name suggests, the base app defined functionalities shared across apps within the project. It contained &lt;code&gt;snippets&lt;/code&gt; for the site logo, main menu and breadcrumb navigation. Within this app, I constructed a &lt;code&gt;ContentBlock&lt;/code&gt; that allowed me to dynamically add subheading, image, list and rich text content to a page. This &lt;code&gt;ContentBlock&lt;/code&gt; inherited from &lt;code&gt;StreamBlock&lt;/code&gt;. It was used to define a &lt;code&gt;StreamField&lt;/code&gt; to populate the body field of the about and blog post pages. Because the about page didn’t belong in the home or blog app, I defined a &lt;code&gt;StandardPage&lt;/code&gt; model to create it.&lt;/p&gt;

&lt;p&gt;The blog app held models and templates for the blog index page and blog post pages. I defined the &lt;code&gt;BlogPage&lt;/code&gt; model as child page of the &lt;code&gt;BlogIndexPage&lt;/code&gt;. And I populated the blog index page with meta data for each blog post. Thus, a new blog site was built.&lt;/p&gt;

&lt;p&gt;I’m glad that I can now add Wagtail to my toolkit as a web developer. If you’d like to see my code, check out the &lt;a href="https://github.com/praiztech/praiztech_blog" rel="noopener noreferrer"&gt;praiztech_blog repository on GitHub&lt;/a&gt;. I'm still working on the front-end, though.&lt;/p&gt;

</description>
      <category>softwaredevelopment</category>
      <category>webdev</category>
      <category>python</category>
      <category>django</category>
    </item>
    <item>
      <title>Growing My Skill in Web Accessibility</title>
      <dc:creator>Praise Agbabiaka</dc:creator>
      <pubDate>Fri, 27 Oct 2023 12:21:44 +0000</pubDate>
      <link>https://dev.to/praiztech/growing-my-skill-in-web-accessibility-2bij</link>
      <guid>https://dev.to/praiztech/growing-my-skill-in-web-accessibility-2bij</guid>
      <description>&lt;p&gt;As a self-taught web developer, my first impulse whenever I encounter a new concept is to search the Web. There's almost always a blog post or video that explains it in enough detail to help me understand. For the most part, this has been no different for web accessibility.&lt;/p&gt;

&lt;h2&gt;
  
  
  Using Online Resources
&lt;/h2&gt;

&lt;p&gt;Once I learnt about &lt;a href="https://developer.mozilla.org/en-US/docs/Learn/Accessibility" rel="noopener noreferrer"&gt;web accessibility on Mozilla&lt;/a&gt;, it was quite easy to find other related posts. I found several excellent posts to expand my knowledge of accessible web development. I learnt to write accessible code with semantic Hypertext Markup Language (HTML) elements. I also learnt to test my websites with automated testing tools such as WAVE, axe DevTools and ARC Toolkit. To understand how blind users experience my websites, I learnt to test with NVDA and TalkBack screen readers. I also learnt to enhance the output of screen readers with Accessible Rich Internet Applications (ARIA) when there are no HTML alternatives.&lt;/p&gt;

&lt;h2&gt;
  
  
  Learning from a Great Mentor
&lt;/h2&gt;

&lt;p&gt;As my knowledge of web accessibility grew, I realized that I was lacking an important skill. I didn't know how to perform a manual accessibility audit. I searched the Web but I couldn't find a simple guide on the process of manual accessibility testing. Yet, I knew I had to gain this skill. Manual auditing is the only way to identify all accessibility issues on a website.&lt;/p&gt;

&lt;p&gt;So, when Rachele DiTullio posted on LinkedIn that they had created &lt;a href="https://racheleditullio.com/projects/accessibility-testing/" rel="noopener noreferrer"&gt;manual accessibility audit videos&lt;/a&gt;, I was excited. First, I watched the videos to understand their testing process. Then, I sent them an email requesting their mentorship. They were very receptive and agreed to mentor me. They agreed to provide weekly testing exercises and give feedback on the results. Thus began my journey into manual web accessibility auditing.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwzthbqwtwsfibuj8v6gp.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwzthbqwtwsfibuj8v6gp.PNG" alt="A worksheet in a manual accessibility testing workbook showing the scope of the test" width="800" height="326"&gt;&lt;/a&gt;&lt;br&gt;&lt;strong&gt;My first manual accessibility testing workbook&lt;/strong&gt;
  &lt;/p&gt;

&lt;h2&gt;
  
  
  The Journey So Far
&lt;/h2&gt;

&lt;p&gt;As I've performed manual accessibility audits, my skill have evolved over time. I've learnt to break down each webpage into smaller sections to test. I'm learning to better interpret the Web Content Accessibility Guidelines (WCAG). I'm learning how WCAG failures impact the web experience of users with disabilities. It's a journey. I'm getting better at it. &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>webaccessibility</category>
      <category>accessiblecode</category>
      <category>a11y</category>
    </item>
  </channel>
</rss>
