Linked List - 20190822

The Linked List is a collection of interesting articles that I have recently read and found beneficial. Today’s links cover web accessibility, TypeScript adoption, and React Hooks. Hey Domino’s, You’re Not Delivering: Recently Domino’s petitioned the United States Supreme Court saying that they did not need to make their website accessible. This post breaks down how the current website experience affects real people and callouts for areas of improvement. An Intro To Screen Reader Testing for Sighted Developers: This is a great article and introduction into using a screen reader for accessibility verification. Automated testing cannot catch all accessibility errors, including focus management. Getting some time using a screen reader is a great way to increase empathy and improve your site’s accessibility. ES6 — Map vs Object — What and when?: If you have ever wondered what the difference between a map and object is, or why you may want to use one over the other, this is the article for you. It does a great job breaking down the differences of the two, what they excel in, and when you may want to reach for one over the other. Adopting Typescript at Scale - Brie Bunge | JSConf Hawaii 2019: Brie does a fantastic job of breaking down the process of bringing TypeScript into a large organization. This interested in TypeScript or trying to rally a group of developers around it may glean from some of the lessons learned at AirBnB. 5 Tips to Help You Avoid React Hooks Pitfalls: React Hooks are a great addition to the ecosystem. In this post Kent C Dodds breaks down some potential gotchas and how to have the best experience possibilities working with hooks.

August 22, 2019 · 2 min · Skyler Lemay

Linked List - 20190729

The Linked List is a collection of interesting articles that I have recently read and found beneficial. Today’s links cover web accessibility, upcoming features to ECMAScript, breaking down imperative vs declarative programming, and why your GraphQL APIs should embrace nullability. When Is A Button Not A Button?: Buttons have a number of built in accessibility and user interactions built in. Learn more and the dangers of trying to substitute other elements for buttons. Optional Chaining in JavaScript: This past week optional chaining entered stage 3 for TC 39 consideration. This syntax enables cleaner code for drilling without a bunch of && type guards. Check out the full proposal at the link above. If you’re interested in trying it out use the Babel plugin. Nullability in GraphQL: Embracing nullability early on helps with the flexibility of your API, optimistic UI, avoiding breaking changes, and much more. Read more about how fields should only be made non-nullable with great intention. Imperative vs Declarative Programming: This Article by Tyler McGinnis is by far the clearest explanation of the difference between imperative and declarative programming I have read. Complete with real world metaphors, and a great place to wrap your head around the topic. The WebAIM Million: WebAIM (Web Accessibility in Mind) is a great resource for increasing accessibility on the web. Earlier this year they surveyed one million websites and identified the most common accessibility errors, low hanging fruit, and some correlation amongst errors.

July 29, 2019 · 2 min · Skyler Lemay

How to Resolve Accessibility Issues with React Helmet

The lang attribute is an essential part of the HTML element. It identifies the main language of the document’s content. This is used by screen readers to determine the pronunciation of words. Screen readers have a default language setting, but will respect the language specified in the html element if they differ. However, if this attribute is missing, and the language of the document is different than the screen reader’s settings, the user will receive a subpar experience with incorrect pronunciations. For more information on the accessibility of this attribute, check out Deque University’s detail page. ...

May 28, 2019 · 3 min · Skyler Lemay

Shaping JavaScript Usage with ESLint

I have used ESLint for a long time, often extending the recommended rules from various plugins. I only read a rule’s documentation if I wasn’t sure why it was being flagged in the linter. Last month I read through and manually set 381 ESLint rules, reading the accompanying docs for each rule. I discovered that ESLint is more than enforcing community guidelines on code quality. It also helps to shape use of the language as a whole and through project specific rule usage. ...

May 23, 2019 · 7 min · Skyler Lemay