<?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>Forem: Christine Golden</title>
    <description>The latest articles on Forem by Christine Golden (@clgolden).</description>
    <link>https://forem.com/clgolden</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%2F581134%2Fa189f432-d93d-428d-9c66-66f044af8248.jpeg</url>
      <title>Forem: Christine Golden</title>
      <link>https://forem.com/clgolden</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/clgolden"/>
    <language>en</language>
    <item>
      <title>Upping My Accessibility Skills</title>
      <dc:creator>Christine Golden</dc:creator>
      <pubDate>Thu, 20 May 2021 13:01:42 +0000</pubDate>
      <link>https://forem.com/clgolden/upping-my-accessibility-skills-5h0a</link>
      <guid>https://forem.com/clgolden/upping-my-accessibility-skills-5h0a</guid>
      <description>&lt;p&gt;In acknowledgement of &lt;a href="https://globalaccessibilityawarenessday.org"&gt;Global Accessibility Awareness Day (GAAD)&lt;/a&gt;, I've finally done something I've been meaning to do since I started coding 10 years ago. I listened to my website with a screen reader.&lt;/p&gt;

&lt;p&gt;Using &lt;a href="https://clgolden.com/"&gt;my portfolio site&lt;/a&gt;, I recorded a bit of the &lt;a href="https://clgolden.com/media/screenreader.m4a"&gt;Screen Reader Audio&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At first it was overwhelming. All those extra words made it sound like gibberish. There are &lt;a href="https://support.apple.com/guide/mac-help/change-voiceover-preferences-accessibility-mh40578/mac#:~:text=On%20your%20Mac%2C%20use%20the,click%20Accessibility%2C%20then%20click%20VoiceOver.&amp;amp;text=Turn%20VoiceOver%20on%20or%20off."&gt;lots of settings&lt;/a&gt;, with differences between OS updates, and I still don't know how to get it to just slow down, pause or go back. A handicapped person would certainly need knowledgeable help to get a working system set up.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.cdc.gov/media/releases/2018/p0816-disability.html"&gt;According to the CDC&lt;/a&gt;, 1 in 4 adults in the US have serious difficulty doing the things I take for granted. Difficulties that would make it hard to work a keyboard, see, hear and understanding web content. The pandemic would have only made things worse for many of these people.&lt;/p&gt;

&lt;p&gt;Fortunately, according to &lt;a href="https://developer.mozilla.org/en-US/docs/Learn/Accessibility"&gt;Mozilla's Accessibility Learning Area&lt;/a&gt;, &lt;strong&gt;HTML used correctly&lt;/strong&gt; is a strong starting point. There's also a fair amount of overlap with good SEO practices and Accessibility.&lt;/p&gt;

&lt;p&gt;Besides compassion, there are other reasons to up one's game in this aspect of front-end development. For one, handicapped people buy stuff, too, so that's motivation for business owners. For another reason, it's the law. Enforcement comes about through someone sueing the web owner, so my advice is to not aggravate and confuse your site visitor!&lt;/p&gt;

&lt;h2&gt;
  
  
  Web Content Accessibility Guideline (WCAG)
&lt;/h2&gt;

&lt;p&gt;The World Wide Web Consortium (W3C) develops standards for the web. It's official accessibility guidelines are spelled out in the WCAG, the &lt;a href="https://www.w3.org/WAI/standards-guidelines/wcag"&gt;Web Content Accessibility Guideline&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I tried, I really did try to read the WCAG documentation - even made a spreadsheet. Finally, I gave up. It's probably good to have such a comprehensive gathering of info somewhere... but in practical terms, everyday web devs who are struggling to keep up with the latest tech, so they can make a living, will be too discouraged to follow through with that set of docs. :}&lt;/p&gt;

&lt;h2&gt;
  
  
  Thank Goodness for The A11y Project!
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.a11yproject.com"&gt;The A11Y Project&lt;/a&gt; is a community-driven effort to make digital accessibility easier.&lt;/p&gt;

&lt;blockquote&gt;A11y is a symbol for the word 'Accessibility'. 'A' followed by 11 characters, then 'y'&lt;/blockquote&gt;

&lt;p&gt;They have a &lt;a href="https://www.a11yproject.com/checklist"&gt;Checklist&lt;/a&gt;, written in language I can understand with linked references to the official Guidelines.&lt;/p&gt;

&lt;p&gt;There are 15 main categories and several sub-categories that each deserve enough study to produce their own article. I can see why the industry of accessibility testing is going strong! It's a specialty.&lt;/p&gt;

&lt;p&gt;Initially, I intended go through each one of the items and make sure I had them included in my website boilerplate and thought process. But that's going to take more time than I have right now.&lt;/p&gt;

&lt;p&gt;So, this article is going to be more of a planning exercise. I'll look at each category and see what I'm already doing and what I still need to learn, with some references for study.&lt;/p&gt;

&lt;p&gt;I know this will help me learn. I hope it will give you some tips and perspective, too.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Checklist
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Content
&lt;/h3&gt;

&lt;p&gt;Simple, direct, easy to read content is important for everyone who comes to a website. &lt;/p&gt;

&lt;p&gt;📋 Button, anchor and label content needs to stand alone with respect to its meaning. Good for SEO, too. It takes a little extra creative effort.&lt;/p&gt;

&lt;h3&gt;
  
  
  Global Content
&lt;/h3&gt;

&lt;p&gt;Responsive code design and standards-compliant HTML takes care of a lot of these items.&lt;/p&gt;

&lt;p&gt;📋 Semantic HTML provides good info for screen readers except for the generic div, section and form elements. I need to learn more about &lt;a href="https://www.w3.org/TR/wai-aria-practices/examples/landmarks/HTML5.html"&gt;ARIA (Accessible Rich Internet Applications)&lt;/a&gt; attributes, especially now that I'm learning how to build web apps with JavaScript.&lt;/p&gt;

&lt;h3&gt;
  
  
  Keyboard
&lt;/h3&gt;

&lt;p&gt;Tab through the website and see if the focus order makes sense.&lt;/p&gt;

&lt;p&gt;📋 I hate the default outline style that browsers apply to active links. &lt;a href="https://css-tricks.com/?s=focus"&gt;CSS-Tricks&lt;/a&gt; has a few modern articles on creating my own styles for those :focus elements.&lt;/p&gt;

&lt;h3&gt;
  
  
  Images
&lt;/h3&gt;

&lt;p&gt;Make sure all images have the alt text attribute, even if they're purely decorative, then the alt should be null, as in no-space.&lt;/p&gt;

&lt;p&gt;📋 I need to experiment with null alt attributes to see how they sound. I've been adding a space character all this time and the screen reader says, "unlabelled image" which sounds irresponsible to me. :\&lt;/p&gt;

&lt;p&gt;📋 There are a lot of recommendations for best use of alt text. WordPress users, did you notice the link to &lt;a href="https://www.w3.org/WAI/tutorials/images/decision-tree"&gt;An alt Decision Tree&lt;/a&gt; that core provided sometime in the last few years?&lt;/p&gt;

&lt;h3&gt;
  
  
  Headings
&lt;/h3&gt;

&lt;p&gt;Headings are for grouping written content in meaningful ways (not for decoration). Well-organized use of h1, h2, h3, etc. tags are helpful to everyone, disabled or not. It's also good SEO.&lt;/p&gt;

&lt;p&gt;There should only be one h1 on a page for accessibility. This means the site title needs to use a different element.&lt;/p&gt;

&lt;h3&gt;
  
  
  Lists
&lt;/h3&gt;

&lt;p&gt;Use the right list elements for lists.&lt;/p&gt;

&lt;h3&gt;
  
  
  Controls
&lt;/h3&gt;

&lt;p&gt;Lots of good, common sense guidance in this section. Use anchor elements for links, the button element for buttons.&lt;/p&gt;

&lt;p&gt;📋 None of the links in this article automatically open to a new tab/window, but if they did one needs to notify the site visitor it's going to happen. I wish we had a universal ASCII symbol for links that open in a new tab. I'll need to test if/how screen readers pick up the target attribute.&lt;/p&gt;

&lt;p&gt;📋 I recently started using 'skip-links' in my websites, but need to review them for updates. Again, a CSS-Tricks' article &lt;a href="https://css-tricks.com/how-to-create-a-skip-to-content-link/"&gt;How to Create a “Skip to Content” Link&lt;/a&gt; looks like a good starting point.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tables
&lt;/h3&gt;

&lt;p&gt;Semantics, again. Use table elements for tabulated info. The Guidelines ask that th and caption elements be used as well. I haven't been using those regularly.&lt;/p&gt;

&lt;p&gt;📋 I'm going to have to look up the scope attribute, which the Guidelines ask for.&lt;/p&gt;

&lt;h3&gt;
  
  
  Forms
&lt;/h3&gt;

&lt;p&gt;Make sure forms are well-organized and labelled.&lt;/p&gt;

&lt;p&gt;📋 Learn best practices for styling error and other status messages.&lt;/p&gt;

&lt;h3&gt;
  
  
  Media, including Video and Audio
&lt;/h3&gt;

&lt;p&gt;Don't auto-play and make sure controls are available. The Guidelines on providing readable text applies; use captions and transcripts.&lt;/p&gt;

&lt;p&gt;📋 This means I should have prepared a transcript of the audio I've included above. Have you ever typed up your own transcript? It takes a good amount of effort and time, and &lt;a href="https://transcribe.wreally.com/"&gt;a helpful transcription app&lt;/a&gt;, that my clients would probably not pay for.&lt;/p&gt;

&lt;h3&gt;
  
  
  Appearance
&lt;/h3&gt;

&lt;p&gt;Using a simple, straightforward layout is good for all users, and is forced upon us when thinking in 'mobile-first' mode.&lt;/p&gt;

&lt;p&gt;I already test my websites in all the modern, popular browser and the mobile devices I have at my disposal. The WCAG Guidelines also asks us to test in specialized browsing modes, such as Windows High Contrast or Inverted Colors. For freelancers this will add costs to a project that clients may not want to pay.&lt;/p&gt;

&lt;p&gt;📋 I'll need to learn the different specialized browsing modes on Window and Mac OS and test which styles are broken by those modes.&lt;/p&gt;

&lt;p&gt;📋 I've never done it before, but increasing text to 200% would be a good test.&lt;/p&gt;

&lt;p&gt;📋 Another design pattern I've never considered can be evaluated by what's called &lt;a href="https://www.youtube.com/watch?v=S1j6CYT3kWA"&gt;The Straw Test&lt;/a&gt;. It's always a good principle to not spread content over too wide an area.&lt;/p&gt;

&lt;h3&gt;
  
  
  Animation
&lt;/h3&gt;

&lt;p&gt;Content that moves can be problematic to some people. Here are the items to check for.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ensure animations are subtle and do not flash too much.&lt;/li&gt;
&lt;li&gt;Provide a mechanism to pause background video.&lt;/li&gt;
&lt;li&gt;Make sure all animation obeys the 'prefers-reduced-motion' media query.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Color Contrast
&lt;/h3&gt;

&lt;p&gt;📋 Normal and large-sized text, and icons all have specific contrast ratios. Here's &lt;a href="https://contrast-ratio.com/"&gt;a tool for calculating color contrast ratios&lt;/a&gt;. I didn't even know it could be calculated!&lt;/p&gt;

&lt;p&gt;As always, make sure text over graphics are clear.&lt;/p&gt;

&lt;p&gt;📋 There is a CSS pseudo-element I wasn't familiar with, although I've enjoyed its use on some websites. It's the &lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/::selection"&gt;::selection pseudo-element&lt;/a&gt; and it adds style to text that the user has highlighted. As you can imagine, make sure the reader can still read the text.&lt;/p&gt;

&lt;h3&gt;
  
  
  Mobile and Touch
&lt;/h3&gt;

&lt;p&gt;The sub-categories of this one are all the same as good, mobile-first, responsive styling. Make sure the site can be rotated, check the distance between links and buttons.&lt;/p&gt;

&lt;p&gt;📋 I've been seeing horizontal scrolling lately. The Guidelines say not to do it, but it looks useful in some cases. More research is needed on this.&lt;/p&gt;




&lt;p&gt;Okay, so that's the list I'm going to be working with. There's no such thing as 100% Accessible. We can only keep striving to improve.&lt;/p&gt;

&lt;p&gt;Let me and anyone reading know of additional tips, references or experiences you have. Best!&lt;/p&gt;

</description>
      <category>a11y</category>
      <category>freelancing</category>
    </item>
    <item>
      <title>There's a New VS Code Sass Compiler in Town</title>
      <dc:creator>Christine Golden</dc:creator>
      <pubDate>Fri, 30 Apr 2021 02:55:03 +0000</pubDate>
      <link>https://forem.com/clgolden/there-s-a-new-vs-code-sass-compiler-in-town-4ij8</link>
      <guid>https://forem.com/clgolden/there-s-a-new-vs-code-sass-compiler-in-town-4ij8</guid>
      <description>&lt;p&gt;Sass has been a part of my workflow for years. The fact that it allows me to write nested CSS is sufficient enough reason for me to install it, although I use it for more than that. &lt;/p&gt;

&lt;p&gt;Back when I first started with Sass, CSS variables weren't a thing, so I used SCSS for that too. &lt;/p&gt;

&lt;p&gt;At the time, I used a combination of CodeKit, a well-maintained app that also includes up-to-date vendor prefixing. However, that meant opening two apps ( CodeKit and SublimeText ) for every coding session.&lt;/p&gt;

&lt;p&gt;Now that I'm learning JavaScript and React, I see that 'everyone' is using VS Code. For a while, I resisted and started using SublimeText 4 (beta). I'm a little embarrassed by my disloyalty, but I have finally succumbed to the new-geek-toy pressure and have made the switch to VS Code.&lt;/p&gt;

&lt;p&gt;While exploring SASS compiler options for VS Code, the articles and videos I found kept leading me to &lt;em&gt;Live Sass Compiler&lt;/em&gt; by Ritwick Dey. This compiler also installs an extension called &lt;em&gt;Live Server&lt;/em&gt;. The installation went smoothly and I set up my .scss files.&lt;/p&gt;

&lt;p&gt;I use partials to organize my CSS. Partials, which hold smaller segments of the CSS, are stored in files that begin with an underscore. For example, _global.scss or _header.scss. They are grouped together in a file using an @ rule, which is then compiled into the CSS file.&lt;/p&gt;

&lt;p&gt;Until this morning, I thought I was to use the @import rule that I've always used, and which compiled to CSS just fine using the extension.&lt;/p&gt;

&lt;p&gt;While reviewing Sass's docs, however, I came to find out that they are now offering a proprietory rule called @use instead of @import. It has to do with a relatively new feature called modules... which is a topic for another article.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt;&lt;span class="k"&gt;@use&lt;/span&gt; &lt;span class="s1"&gt;'typography'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;@use&lt;/span&gt; &lt;span class="s1"&gt;'global'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;@use&lt;/span&gt; &lt;span class="s1"&gt;'layout'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;@use&lt;/span&gt; &lt;span class="s1"&gt;'header'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;@use&lt;/span&gt; &lt;span class="s1"&gt;'nav'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;@use&lt;/span&gt; &lt;span class="s1"&gt;'page'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;@use&lt;/span&gt; &lt;span class="s1"&gt;'footer'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When I tried using the @rule, though, the compiler just copied it straight into the .css file. It did not compile.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sending out the posse
&lt;/h2&gt;

&lt;p&gt;Support FAQs for &lt;em&gt;Live Sass Compiler&lt;/em&gt; are kept in the Issues section of its GitHub repository. Searching for help was greatly hindered by the fact that most of the issues were titled "Extension Issue!" This must be a default title in the GitHub system and is an excellent example of how &lt;em&gt;not&lt;/em&gt; to write support issue titles!&lt;/p&gt;

&lt;p&gt;I persisted, and by searching and scrolling, finally found an issue called "THIS EXTENSION IS NO LONGER MAINTAINED."&lt;/p&gt;

&lt;p&gt;At the time of this writing, only a few weeks have passed since Glenn Marks posted that Issue. He is actively maintaining &lt;a href="https://marketplace.visualstudio.com/items?itemName=glenn2223.live-sass"&gt;his own version&lt;/a&gt; on the marketplace.&lt;/p&gt;

&lt;p&gt;The extension's GitHub repository and FAQs are at &lt;a href="https://github.com/glenn2223/vscode-live-sass-compiler"&gt;https://github.com/glenn2223/vscode-live-sass-compiler&lt;/a&gt;. I can see that Ritwick Dey is a Contributor so I'm assuming this newer version has his blessing.&lt;/p&gt;

&lt;p&gt;I uninstalled both &lt;em&gt;Live Sass Compiler&lt;/em&gt; and &lt;em&gt;Live Server&lt;/em&gt; without incident. Then I followed Glenn's instruction to install his version by opening the Quick Open palette in VS Code ( cmd+P on a Mac ) and typing&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ext install glenn2223.live-sass
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I happen to be learning the static site generator Hugo right now so I already have a live server environment. Glenn's new version says it comes with a live browser reload feature. Was this going to cause a conflict? With bated breath, I compiled my existing .scss files using the @use rule... and it worked! I've since added more partials and styles and it's still working.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The Bottom Line: &lt;em&gt;Live SASS Compiler&lt;/em&gt; by Ritwick Dey is no longer&lt;br&gt;
being maintained. Use the extension by Glenn Marks, who is&lt;br&gt;
maintaining a fork of the original &lt;del&gt;with Ritwick Dey's support&lt;/del&gt;. See update in the comments.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I feel gratified to know I can use the latest Sass features and look forward to continuing with my project tomorrow.&lt;/p&gt;

&lt;p&gt;Kudos, Glenn! Thank you.&lt;/p&gt;




&lt;h2&gt;
  
  
  Miscellaneous
&lt;/h2&gt;

&lt;p&gt;SublimeText is still an awesome code editor. For now, I'm using it as my text editor. It feels like it opens so much easier than others.&lt;/p&gt;

&lt;p&gt;I still need to check into vendor prefixing, but I'm not too concerned as most of my client work does not need cutting-edge CSS.&lt;/p&gt;

&lt;p&gt;Now is a good time to be catching up with the CSS I've let slide, though. For example, I'm using CSS variables now instead of SCSS variables.&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>css</category>
    </item>
  </channel>
</rss>
