Plurrrr

Mon 27 Mar 2023

Common pitfalls of GitHub Actions

If you create GitHub Actions via GitHub’s UI by going to the URL of the form https://github.com///actions/new, it provides templates for setting up the build. However, the template is broken.

There are four problems with the default template

  1. No dependency caching – so package dependencies will be resolved and reinstalled every time
  2. No cancelation of stale executions – If you pushed a commit and before the tests finish, you decide to push another commit then the stale commits are not canceled. Rather they continue executing!
  3. No path filtering – So a change to README will trigger the execution of, for example, linters and tests!
  4. No timeouts – Rogue tests can run forever leading to resource exhaustion

All these are fixable.

Source: Common pitfalls of GitHub Actions.

CSS-only Widgets Are Inaccessible

Interactive widgets powered with only CSS are relatively common as people are playing with all the ways CSS can respond to, or create, interactions. CodePen contests are a great venue to see these experiments (which hopefully are never moved to a live human-facing project).

The problem with many of these examples is they need to convey their state (such as expanded or not), properties (think of relationships), or values, and (sometimes) dynamic names. While CSS is ideal to show these visually, they need to be passed to accessibility APIs so they can be conveyed to users of assistive technologies.

Not everything that relies on CSS for interaction is inaccessible. There are always going to be exceptions, but those are (and should be) rare.

Source: CSS-only Widgets Are Inaccessible, an article by Adrian Roselli.