Dispatches From The Internets

GOV.UK to examine Google and Microsoft tools in bid to ‘significantly improve’ search

This is awesome to see. GOV.UK is going to be replacing their search functionality. The contract is estimated to be worth £900,000. The kicker’s below:

Work to replace GOV.UK’s search infrastructure is due to begin in early next year, with the initial phase of the project dedicated to identifying and evaluating products. Such assessments will be focus on “functional and non-functional requirements, based around user needs [and] include accessibility requirements… and progressive enhancement”.


JavaScript

When we old timers bemoan developers’ overreliance on JavaScript, we are coming at it from the perspective of folks who were building for the web before JavaScript was a server-side thing.

Some of us remember the early attempts at bringing JS to the server too. Remember Jaxer? JsExt? Rhino? Fun times.


Product Accessibility: Building an Inclusive Product

Alice lays out a great roadmap for shifting accessibility earlier in your project lifecycle. Why, you ask?

Just like chocolate chips, accessibility is a key ingredient in your product pancake — and it’ll always taste best when it’s added to the mix at the beginning. It’s also more time- and cost-effective, as fixing a usability issue after the product has been released can cost up to 100 times more than earlier on in the development process.



Building a resilient frontend using progressive enhancement

How did I miss this? The gov.uk Service Manual recommends progressive enhancement for all their websites.

Using progressive enhancement means your users will be able to do what they need to do if any part of the stack fails. Building your service using progressive enhancement will:

  • make your service more resilient
  • mean your service’s most basic functionality will work and meet the core needs of the user
  • improve accessibility by encouraging best practices like writing semantic markup
  • help users with device or connectivity limitations to use your service

🥰





Disruptive design patterns — an uncharted territory

Excellent advice here:

[N]ext time you’re designing a new interface paradigm or chatting with an engineer, ask yourself about the risks involved in the known versus the unknown with the following questions.

  • Does the new design use intuitive patterns that prioritize consistency?
  • Are you in any way disregarding accessibility practices in favor of a feature or a visual direction?
  • How tech-savvy are your users and can the newly-introduced experience be easily adopted by current and future, more-diverse audiences?
  • Can and will your design decisions be validated through properly conducted user research and user testing?

Being mindful of these practices will help you guide decisions and ensure you don’t change things just because you can.


Practical uses of the :has() relational pseudo class

Some nice examples of how to use :has() in this one:

  • parent selector
  • combining with :not()
  • changing an li when hovering/focusing inside
  • styling forms based on validation state
  • adjusting table display based on row count