Discover the State of HTML 2023 Survey Results
Tags: html, javascript, css
Published: 2024-05-12 21:26:29



---
title: Discover the State of HTML 2023 Survey Results
published: true
description: Discover what's new in this brand new survey
tags: html, javascript, css
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ologmk3b1p2qxv6y0e0u.png
# Use a ratio of 100:42 for best results.
# published_at: 2024-05-12 05:10 +0000
---

The [State of HTML 2023 survey results](https://2023.stateofhtml.com/) are now live!

Believe it or not, I've been around in web development long enough to remember a time when HTML was exciting. 

I still recall my excitement the first time I coded something up and FTP'd it to a server. Knowing that people throughout the world could see my Fallout fan page (complete with visitor counter) was just magical!

But let's be honest: since then, HTML has often felt like an afterthought compared to its cooler siblings, CSS and JavaScript. 

### Why HTML?

So why care about a HTML survey then? Well first of all, I have to come clean about something: the survey wasn't *just* about HTML. Instead, you can think of it as focusing on all the things that the existing [State of JavaScript](https://2022.stateofjs.com/en-US) and [State of CSS](https://2023.stateofcss.com/en-US) surveys didn't cover. 

But as it turns out, between the new [Popover API](https://developer.mozilla.org/en-US/docs/Web/API/Popover_API), [selectlist](https://open-ui.org/components/selectlist/), and many more features, even HTML itself is now seeing the same kinds of exciting evolutions that JavaScript and CSS have been experiencing recently. 

### What Took So Long?

This is why it made sense to publish an HTML survey in 2023. And this is why… Hmm? What's that? It's not 2023 anymore, you say? Hasn't been for over five months now?

Well, it's true the survey results took a *tiny* bit longer to compile than I had anticipated. But, without trying to make any excuses, there are a couple good reasons behind that delay. 

### New Survey

This was the first time ever we ran this survey, and that meant a lot of work to come up with the right questions. In fact, you can go back [all the way to 2022](https://github.com/Devographics/surveys/discussions/111) to see the our first discussions about the topic with the community (even though the surveys are eventually ran by a pretty small team, we do try to involve as many external people as possible throughout the whole process). 

Luckily, thanks to financial support from the Google Chrome team, [Lea Verou](https://lea.verou.me/) was able to leverage her considerable experience with the web platform and take the lead on designing the survey. 

### New UI

As we were gathering feedback from various stakeholders, there was also a strong push to improve our main question-asking format. 

We previously used a branching format disguised as a multiple-choice question in order to collect finer-grained responses:

![The old format](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pr4ub7fpui2wbw6oimc6.png)

But this required parsing through five relatively complex sentences, so instead Lea invented –as far as I know it hasn't been used elsewhere before– a brand new component that lets respondents input two-dimensional data (experience and sentiment) with a single click by leveraging hover states:

![The new format](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n3pxfy6qd7gd93d1vtvr.png)

I was skeptical about this new control at first, but after we did some user testing, I saw that it was proving fairly intuitive and even enjoyable to use for the majority of testers. 

Lea also came up with a clever way to let respondents split up freeform answers instead of inputting multiple thoughts in a single textfield: 

![Multi-input text list](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/aa8v2sfklps92zgzsh25.png)

### New Data

All these thoughtful improvements delayed the survey, which ended up running from September 19th to October 19th, 2023 instead of running during the summer like planned. 

The upside though was that the survey was very successful: with over 20,000 responses, it beat out the long-running State of CSS survey, and even came close to equalling the State of JS.

But we now had a problem –and by "we" I mean *I* had a problem. I was now face to face with 20,000 responses, each of which contained dozens of question answers – including many freeform questions supporting their own sub-answers like outlined above. 

As an example, that “forms pain point” question got **11,357** answers. And that's not 11,357 people checking box A or box B, that's 11,357 distinct freeform comments covering all the things people hate about HTML forms. 

In total, the survey collected **69,053** freeform answers across all questions. 

I ended up building a dedicated dashboard just to make parsing all this data slightly easier, but it still took months:

![The data processing dashboard](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kuoopqqsws7sz8p5ptp1.png)

### New Visualizations

It was only after all this was done that I could finally start the process of working on the survey results. 

But once again, I hit a wall. Now that we were collecting experience ("I've used the Popover API") and sentiment ("I would use it again") data together, I needed a way to display them together as well. 

Up to now we had been using the excellent [Nivo](https://nivo.rocks/) dataviz library for React, but I wasn't sure how to customize it to support such a specific use case, or even if it was possible at all:

![The old charts](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nb7rshp9oleitoqlsrfz.png)

So I did the only sensible thing when you're already overworked and months behind schedule: I decided to rewrite everything from scratch. 

This time though, I didn't use SVG, Canvas, or some other fancy rendering technique. Instead, fittingly enough I built the charts with plain old HTML/CSS!

![The new HTML/CSS charts](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2j8cki2svnu35hdusbq9.png)

The main reason is that HTML/CSS is still unequalled when it comes to building responsive UIs. By using grid/subgrid I was able to create charts that can adapt to the viewport width to stay legible even on smaller screens, instead of simply shrinking down or relying on scrollbars. 

Another cool bonus was the ability to inject React components anywhere in the chart, such as these info popovers that are available for some items:

![Info popovers](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/usz407kr2bpv8c8erp53.png)

But of course, the biggest perk of rewriting everything was that I could now create tailor-made charts for our new data model:

![Experience/sentiment chart](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b19sekvzo1zop2iihk4z.png)

And there are many other cool new features, such as nested bar charts:

![Nested bars](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i8izsnu9wqj7mv64aaf2.png)

But I'll let you discover all of them [in the actual survey](https://2023.stateofhtml.com/).

**Note: you can also learn more about the new features in this short YouTube video:**

https://www.youtube.com/watch?v=G-rFwp2zUT4

### What's Next

I'm very excited to see how the community is able to use all this data to find new insights (I haven't even mentioned the fact that all the charts support dynamic filtering via our API!) – as well as how browser vendors leverage the results to inform initiatives such as [Interop 2024](https://web.dev/blog/interop-2024).

So whether you publish a blog post about the survey, upload a video reacting to the results, or even create new data visualizations based on this data, let us know by leaving a comment here or –even better– [joining our Discord](https://discord.gg/zUh3Fmsc3Y).

### State of JS & State of React

Of course, you're probably wondering when the other two pending surveys (State of JavaScript and State of React 2023) are coming out. 

The bad news is, I've yet to get started on processing and publishing that data. 

But the good news is, with all the new infrastructure that was built to get the State of HTML out the door, it should hopefully not take too long!

So you can look forward to both surveys being released between now and the end of June. As they say, better six months late than never!

And once *that's* done, well… it'll be right about time for the 2024 surveys!