I was thinking about how Frontend values change depending on the company, or rather change based of values of people within these companies. The values of people producing the frameworks, libraries and tooling that everyone else uses.
Like most things - it’s always political, not in the party sense, but what receives priority, budget, attention and money. Who decides what aspects of Frontend are important? Which people can be easily excluded without a second thought and who makes this decision?
One particular requirement that is dropped in many private companies and some modern tooling is “progressive enhancement”. This post isn’t to explain what this is, but more, thinking about why this is ignored.
This term was coined by Steven Champeon and Nick Finck at the SXSW Interactive conference on March 11, 2003, in Austin. The strategy is an evolution of a previous web design strategy known as graceful degradation.
Progressive enhancement means that everyone can access the basic content and functionality of a page in any browser, and those without certain browser features may receive a reduced but still functional experience — Lighthouse
Progressive Enhancement reading list
Below is a good reading list around the concepts and benefits of Progressive Enhancement
- Progressive enhancement
- It’s about time I tried to explain what progressive enhancement actually is
- Please disable JavaScript to view this site
- Progressive Enhancement is not anti-JavaScript
- Everyone has JavaScript, right?
- I Used The Web For A Day With JavaScript Turned Off
- Building a robust frontend using progressive enhancement
- How many people are missing out on JavaScript enhancement?
- Gatsby Progressive Enhancement
- What is Progressive Enhancement, and why it matters
- Progressive Enhancement reading list 2021
- The power of progressive enhancement
- Progressive Enhancement and Data Visualizations
- Progressively Enhancing a Small Widget
- The Web I Want
- On Progressive Enhancement
- Make Beautifully Resilient Apps With Progressive Enhancement
- Progressive enhancement, BBC
- Writing even more CSS with Accessibility in Mind, Part 1: Progressive Enhancement
- Progressively-enhanced dark mode
- Fuck you
- Understanding Progressive Enhancement
Does the website work without JavaScript?
I sometimes think “business needs” are used to justify this drop in requirement. However it feels like one of these systemic issues, whilst also being one less thing to think about among the all the other demands, feature requests and bugs. Trying to justify this to stakeholders that don’t care might even put someone at risk.
However I don’t tend to believe it costs more time or money to practice progressive enhancement, it’s simply a different development style. Much like mobile first I’m not sure it’s objectively slower. If anything it could easily reduce testing and make the site more robust.
The other argument tends to be used it’s only a small number of users that benefit. However, it’s estimated that 1.1% of people might use the web without JavaScript.
This helps many different types of users, including those with disabilities. This might sound like a small number of people that can be excluded but thinking about 1.1% - what could we compare this to?
The following groups, represent around 1.1% of the population
Redheads
The UK has the highest proportion of redheads globally, with estimates suggesting around 1-2% of the population.
Electric car owners
Electric vehicle owners: As of 2023, there were over 1 million electric vehicles registered in the UK, accounting for approximately 1.5% of all vehicles.
Green eyes
Green eyes are among the rarest globally, with about 2% prevalence. In the UK, this percentage is approaching 1.1-2%.
Welsh speakers
According to the 2021 Census, 538,300 people in Wales reported being able to speak Welsh, representing 17.8% of the population of Wales. However, considering the entire UK population, fluent Welsh speakers constitute less than 1%.
Workers in agriculture
As of 2021, there were approximately 476,000 people employed in agriculture in the UK, representing about 0.7% of the workforce.
AB-negative blood type
Individuals with AB-negative blood type is one of the rarest blood types, present in about 1% of the UK population.
Autism Spectrum Disorder (ASD)
The NHS estimates that around 1.1% of the UK adult population is on the autism spectrum.
Coeliac Disease
Approximately 1% of the UK population is diagnosed with coeliac disease, an autoimmune condition triggered by gluten ingestion.
Schizophrenia
This severe mental health condition affects about 1% of the UK population.
Rheumatoid Arthritis
An estimated 1% of UK adults live with rheumatoid arthritis, a chronic inflammatory disorder affecting joints.
Epilepsy
Approximately 1% of the UK population has epilepsy, a neurological condition characterised by recurrent seizures.
Sorry, you can’t use this website as you have green eyes
What could be the reasons?
Popular JavaScript frameworks like React, Angular, or Vue rely heavily on JavaScript, which can sideline the progressive enhancement principle that prioritises HTML-first and basic content availability.
Developers might be interested to focus on cutting-edge features and frameworks, which may not support older or simpler implementations, leading them to overlook basic functionality that would benefit all users.
There might be a strong emphasis on creating visually impressive and interactive UI, often driven by stakeholders or clients, making the minimalist approach of progressive enhancement seem less appealing.
Developers sometimes assume that users have the latest devices and fast internet connections, leading them to build for an “ideal” user profile and neglect those with less advanced technology.
Newer developers may not have experience with or training in progressive enhancement, as many modern tutorials, resources and interviews, focus on JavaScript-heavy approaches.
Progressive enhancement might be perceived as requiring extra effort to ensure that content works without advanced features. Under tight deadlines and limited budgets, it’s often seen as expendable.
General enshittification, cutting corners, taking shortcuts.
Clients and stakeholders often prioritise speed, features and aesthetics over accessibility, pushing developers to deprioritise progressive enhancement.
Many developers may not fully understand that progressive enhancement improves accessibility for all, particularly for users with disabilities or those using assistive technology.
Without direct feedback from users who are affected by the lack of progressive enhancement, developers may not realise its impact, leading them to continue without it. If a disabled developer was on the team, this might shift perspective.
Just normalised?
Going a bit more into the first point, As React dominates and hasn’t necessarily prioritised progressive enhancement out-of-the-box, perhaps this was seen as acceptable?
This feels like this has somewhat cascaded down throughout the industry as the standard. While React can be setup to be progressively enhanced, ultimately this wasn’t key feature of the technology, this has somewhat changed recently with SSR. It might be a bit less active than a company, project or team thinking they wish to exclude people. Although maybe it is, especially when the industry faced such ridiculous pushback from renaming a single word.
Progressive enhancement is often deprioritised probably due to various factors. Including values, business priorities, developer habits, and the normalisation of certain frameworks, that haven’t historically prioritised it. While this exclusion may be less impactful in luxury purchases, in essential services like finance or travel, it can prevent access for those relying on accessible design.
Progressive enhancement can benefits all users, promoting a resilient, inclusive web experience.
Updated: on re-read the language felt too individualised when this is systemic.