-
Notifications
You must be signed in to change notification settings - Fork 13
/
html2024.yml
517 lines (356 loc) · 27.3 KB
/
html2024.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
locale: en-US
translations:
###########################################################################
# General
###########################################################################
- key: general.results.description
t: The 2024 edition of the annual survey about the latest trends in the HTML ecosystem.
- key: general.html2024.survey_intro
t: |
HTML was the original web technology, and the fact that it's more relevant than ever three decades later is kind of amazing.
But despite its name, this surveys goes far beyond just HTML to encompass all areas of the web platform as a whole – and there is *a lot* to cover!
So as you might expect, designing a survey like this one always involves tough choices. This year, we decided to focus on new and upcoming features to help you stay up to date; as well as areas that browser vendors are most interested in.
This means that your answers might end up having a direct impact on the roadmap of the browser you're using right now. Which is why I'm so excited to open this second edition of the State of HTML survey!
- key: features.features_intro_html2024
t: |
Welcome to the survey! This first part is all about sharing your experience with various web platform features:
- **Never heard of it**: it's your first time seeing this – or you've heard of it but have no idea what it does.
- **Heard of it**: you've read or learned about this, but haven't actually used it yet.
- **Used it**: you've used this at least once, even if it was just to play around.
By the way, if you want to tell us more about any of your choices, just click that little "comment" icon!
###########################################################################
# Introduction
###########################################################################
- key: introduction.html2024
t: |
<span class="first-letter">D</span>espite its name, this survey is about a lot more than just HTML.
Don't get me wrong – HTML itself is more relevant than ever today, which is quite impressive for a 30-year old technology. Even so, we've tried to broaden the survey's scope even more to the web platform as a whole.
From browser APIs, to web development pain points, to accessibility strategies, to analytics and performance tools, there's a *lot* to cover.
To make it easier to find your way through all these new features, we are now integrating a feature's [Baseline status](https://web-platform-dx.github.io/web-features/) whenever possible – look for a little blue or green dot next to its name.
And if you find all this raw data a bit lacking in context, you can now also browse through the **comments** left by respondents on each question.
So let's dive right in and see what the web platform has been up to in 2024!
<span class="conclusion__byline">– Sacha Greif</span>
###########################################################################
# Tshirt
###########################################################################
- key: sections.tshirt.title
t: T-shirt
- key: sections.tshirt.description
t: |
## Support the Survey With the State of HTML T-Shirt
Do you miss the the good old days of the mid-90s, when HTML was king and VHS tape covers featured futuristic, colorful artwork?
The bad news is that even with 2024's technology, you can't yet go back in time to relive those glory days. But what you *can* do is wear this awesome original retro t-shirt, designed by none other than the talented Christopher Kirk-Nielsen.
- key: tshirt.about
t: About the T-shirt
- key: tshirt.description
t: |
We use a high-quality, super-soft tri-blend shirt with a slim fit printed by our partners at Cotton Bureau.
- key: tshirt.getit
t: Get It
- key: tshirt.price
t: USD $32 + shipping
- key: tshirt.designer.heading
t: About the Designer
- key: tshirt.designer.name
t: Christopher Kirk-Nielsen
- key: tshirt.designer.bio
t: |
Originally from France but now based in the United States, Chris is not just an amazing front-end developer, but also a talented illustrator who specializes in retro visuals. In fact, we encourage you to also check out his [other t-shirt designs](https://chriskirknielsen.com/designs)!
###########################################################################
# Sections Introductions
###########################################################################
- key: sections.user_info.description.html2024
t: |
Welcome to the State of HTML survey results. This year's edition reached **5,402** participants from all around the world.
- key: sections.features.description.html2024
t: |
HTML features and other browser APIs
###########################################################################
# Charts
###########################################################################
# user_info
- key: user_info.country.takeaway.html2024
t: >
Germany had a great showing this year, and while it didn't overtake the U.S. for number one it definitely punched above its weight.
- key: user_info.locale.takeaway.html2024
t: >
Many thanks to our volunteer translators for making the surveys available in so many different languages!
- key: user_info.completion_stats.takeaway.html2024
t: >
Despite the survey's length, an overwhelming majority of respondents took the time to complete it from start to finish!
- key: user_info.age.takeaway.html2024
t: >
State of HTML respondents had a median age of 35 – close to State of CSS's 34, and quite a bit older than State of JS's 31.
- key: user_info.years_of_experience.takeaway.html2024
t: >
The difference between surveys also holds when looking at years of web development experience: an average of 12 years here, compared to 9 years for State of JS respondents.
- key: user_info.company_size.takeaway.html2024
t: >
The larger the company, the higher the salary. Although if you're good enough, our data shows that you can earn a decent living no matter your company's size.
- key: user_info.yearly_salary.takeaway.html2024
t: >
While we often hear tales of six-figure salaries out of Silicon Valley, the reality is that most front-end developers throughout the world earn far less, as becomes apparent when directly comparing the U.S. and the rest of the world.
- key: user_info.higher_education_degree.takeaway.html2024
t: >
While having a degree will ensure you earn more, turns out it doesn't necessarily have to be related to programming – a good sign for the many among us who discovered a passion for web development further along in life.
- key: user_info.gender.takeaway.html2024
t: >
Unlike past surveys, we didn't observe a significant income difference between genders this time.
That being said, this lone datapoint does not mean we should disregard the challenges faced by women in our industry.
- key: user_info.race_ethnicity.takeaway.html2024
t: >
Non-white respondents were more likely to be younger and have less experience – which hopefully points to a ongoing diversification of the industry.
- key: user_info.disability_status.takeaway.html2024
t: >
Thanks to the continued efforts of accessibility advocates, we now accept the fact that disabilities (permanent or not) should be taken into account as part of the design & development process.
- key: user_info.source.takeaway.html2024
t: >
A majority of respondents knew about the survey from previous years, but many also found it through a banner on the [2024 State of CSS survey results](https://2024.stateofcss.com/).
And for the first time, Mastodon overtook X as a traffic source, possibly due to the later penalizing tweets containing outbounds links.
# features
- key: features.all_features
t: Features
- key: features.all_features.takeaway.html2024
t: >
Landmark elements (`<main>`, `<nav>`, etc.) unsurprinsingly ranked first as the most used feature, while the *least* used was Isolated Web Apps.
`<datalist>` had the highest proportion positive sentiment (47.%), while `<model>` ranked first for negative sentiment at 9%.
- key: features.reading_list.takeaway.html2024
t: >
The Reading List lets you save items you want to learn more about after the survey is complete, and the item that was added the most was the new Customizable Select feature.
# forms
- key: features.forms_features.takeaway.html2024
t: >
With forms being one of the main ways users interact with the web, it should come as no surprise that they present their set of challenges.
One feature to keep an eye on is Customizable Select, which by virtue of being brand new is one of the least used form features, yet ranks second when ranked by positive sentiment.
- key: features.forms_pain_points.takeaway.html2024
t: >
Styling form inputs continues to be developers' top form-related pain point, especially when it comes to `<select>` elements.
Speaking of `<select>`, the lack of “combobox” behavior (search, autofill, etc.) was also deeply felt since it often forces apps to rely on JavaScript workarounds
# interactivity
- key: features.interactivity_features.takeaway.html2024
t: >
Despite low usage and a “Limited Availability” baseline status, the new Popover API scored first in terms of positive sentiment, which makes sense for such a useful feature.
- key: features.interactivity_pain_points.takeaway.html2024
t: >
Styling form inputs continues to be developers' top form-related pain point, especially when it comes to `<select>` elements.
Speaking of `<select>`, the lack of “combobox” behavior (search, autofill, etc.) was also deeply felt since it often forces apps to rely on JavaScript workarounds.
# content
- key: features.content_features.takeaway.html2024
t: >
The `srcset` and `sizes` attributes collected 81 freeform comments, with 58% of those corresponding to a negative sentiment. As one respondent put it, “you have to look up the syntax every time you use it.”
- key: features.content_pain_points.takeaway.html2024
t: >
SVG (especially styling them with CSS) and image management are the top two pain points when it comes to dealing with content.
# web_components
- key: features.web_components_features.takeaway.html2024
t: >
While Web Components have their adepts, they remain a contested technology. Web Components features had an average of 7% of negative opinions, versus 4% for all other features combined.
- key: features.web_components_libraries.takeaway.html2024
t: >
Svelte may not be known as a web components library, but it turns out that it works quite well with them – unlike React, which appears far lower down in the rankings.
- key: features.using_web_components_pain_points.takeaway.html2024
t: >
The difficulty of styling and customizing web components remains the top obstacle to using them more broadly. Another barrier to entry is how hard it is to integrate them with JavaScript frontend libraries.
- key: features.making_web_components_pain_points.takeaway.html2024
t: >
Despite its cool name, Shadow DOM continues to frustrate web component makers, with many throwing up their hands at the excessive complexity of the whole process.
# accessibility
- key: features.accessibility_features.takeaway.html2024
t: >
The accessibility features mentioned in this year's survey proved to be straightforward enough to use, which translated into a very low negative sentiment overall.
- key: features.accessibility_disabilities.takeaway.html2024
t: >
It was comforting to see developers account for a wide range of disabilities while making websites, with visual disabilities taking the top ranks.
aliases:
- accessibility.accessibility_disabilities.takeaway.html2024
- key: features.accessibility_techniques.takeaway.html2024
t: >
It's nice to see that alt text is widely implemented, and if nothing else this chart can serve as a handy shortlist of accessibility patterns to implement in your own projects.
aliases:
- accessibility.accessibility_techniques.takeaway.html2024
- key: features.accessibility_screenreaders.takeaway.html2024
t: >
It should come as no surprise that developers are more likely to use screenreaders if they come bundled with their browser or OS.
aliases:
- accessibility.accessibility_screenreaders.takeaway.html2024
- key: features.accessibility_tools.takeaway.html2024
t: >
Lighthouse and browser devtools in general topped the rankings, overtaking more specialized tools such as Axe or WAVE.
aliases:
- accessibility.accessibility_tools.takeaway.html2024
- key: features.accessibility_pain_points.takeaway.html2024
t: >
Accessibility presents a unique challenge in that developers must not only overcome technical issues such as testing difficulties, but also organizational obstacles such as low prioritization or lack of client demand.
aliases:
- accessibility.accessibility_pain_points.takeaway.html2024
# mobile_web_apps_features
- key: features.mobile_web_apps_features.takeaway.html2024
t: >
Usage for mobile and desktop web app features was low overall, with an average of only 6% of respondents having used these features, versus 30% for all other features combined.
- key: features.native_apps_tools.takeaway.html2024
t: >
While building native apps with web technologies presents its set of challenges and limitations, it was still the most popular method among respondents.
aliases:
- mobile_web_apps.native_apps_tools.takeaway.html2024
- key: features.mobile_web_apps_pain_points.takeaway.html2024
t: >
iOS's dominant marketshare combined with its locked-down nature means there isn't much recourse when web platform issues crop up.
# other_tools
- key: other_tools.site_generators.takeaway.html2024
t: >
While Next.js isn't a traditional static site generator, its support for more dynamic rendering methods in addition to build-time rendering makes it a very polyvalent choice – just like Astro, which boasts a similar feature set.
- key: other_tools.validation_tools.takeaway.html2024
t: >
Validation tools might not be as popular as they once were, but they're still a useful item to have in your web developer toolbelt.
- key: other_tools.performance_tools.takeaway.html2024
t: >
Similar to the accessibility tools chart, Lighthouse and browser devtools top the ranking, once again showing that polyvalent tools tend to be more popular than their more specialized counterparts.
- key: other_tools.analytics_tools.takeaway.html2024
t: >
Google Analytics might still dominate, but more privacy-friendly alternative such as Plausible or Fathom are gaining ground.
- key: other_tools.browsers.takeaway.html2024
t: >
Once you look beyond the big four browsers, there's actually a surprising amount of variety in this space, with new entrants like Arc, Brave, and Zen; and developer-focused options such as Polypane.
- key: other_tools.web_platform_resources.takeaway.html2024
t: >
MDN and Can I Use have earned their spot as key resources for the web development community – but keep an eye out for the WebDX group's work around [Web Features](https://web-platform-dx.github.io/web-features-explorer/), a promising new initiative.
# usage
- key: usage.html_interoperability_features.takeaway.html2024
t: >
There are few things more frustrating than knowing a new browser API would solve your problem perfectly, but that you can't use it because of poor support.
Thankfully, with initiatives like [Interop](https://web.dev/blog/interop-2024) one can hope that the Popover API and Anchor Positioning soon join the ranks of the features we all use without giving it a second thought.
- key: usage.html_functionality_features.takeaway.html2024
t: >
While poor browser support is certainly a problem, even well-supported features can see lower usage if they are hard to customize to developer needs, or just plain hard to master.
- key: usage.html_missing_elements.takeaway.html2024
t: >
It might seem weird that omnipresent UI controls such as tabs or datatables still don't have a corresponding native HTML element.
But getting these complex behaviors right while accounting for all edge cases takes time, so for now all we can do is wait and hope these elements make their way to the browser one day.
- key: usage.html_css_js_balance.takeaway.html2024
t: >
We still spend far more time writing JavaScript (or TypeScript) than anything else. While there's nothing wrong with that, the web platform as a whole's ongoing progress will hopefully help balance things out a bit in the near future.
- key: usage.what_do_you_use_html_for.takeaway.html2024
t: >
While “classic” use cases like blogs or homepages still represent a sizable part of the modern web developer's workload, the largest chunk by far is now web apps – which in turn explains why the web platform has been adapting to this new state of things.
- key: usage.industry_sector.takeaway.html2024
t: >
Programming & Technical Tools topped the rankings, which makes sense for a developer-focused survey.
It's also interesting to note that E-commerce came in third, as this is a sector that faces the double challenge of building highly performant sites that also need to feature complex user interactions.
# opinions
- key: opinions.accessibility_is_valued.takeaway.html2024
t: >
It's great to see accessibility being properly valued in the workplace – at least among survey respondents.
And while there is surely a self-selection bias in effect, the efforts of accessibility advocates have also contributed a lot in moving the needle.
- key: opinions.keeping_informed_is_challenging.takeaway.html2024
t: >
New features are great, but only if you can actually know what they are, and how to use them.
A majority of respondents experience this challenge on a daily basis, as reflected in the data.
- key: opinions.browser_interoperability_is_obstacle.takeaway.html2024
t: >
While browser interoperability has traditionally been a major web development pain point, it does seem like the situation is finally getting better – and it'll be interesting to see how this chart evolves over time.
- key: opinions.web_platform_right_direction.takeaway.html2024
t: >
There's reason to be hopefuly about the web platform, and this optimism is reflected in this year's data.
###########################################################################
# Other Content
###########################################################################
- key: features.all_features
t: All Features
- key: features.all_features.description
t: |
This chart recaps all of the survey's feature questions. The main bars represent a respondent's experience; and they are then further subdivided according to that respondent's sentiment. You can change the grouping to alternate between both.
Note that you can also find a more specific breakdown of the same data in each feature sub-section.
- key: features.forms_features
t: Forms Experience & Sentiment
- key: features.interactivity_features
t: Interactivity Experience & Sentiment
- key: features.content_features
t: Content Experience & Sentiment
- key: features.web_components_features
t: Web Components Experience & Sentiment
aliases:
- web_components_main_features
- key: features.accessibility_features
t: Accessibility Experience & Sentiment
- key: features.mobile_web_apps_features
t: Native Web Apps Experience & Sentiment
###########################################################################
# Sponsors
###########################################################################
- key: sponsors.frontendmasters.description
t: Advance your skills with in-depth, modern front-end engineering courses.
- key: sponsors.google_chrome.description
t: Thanks to the Google Chrome team for supporting our work.
- key: sponsors.tokyodev.description
t: Find your dream developer job in Japan today.
- key: sponsors.renderatl.description
t: The tech conference focused on all things web.
###########################################################################
# Conclusion
###########################################################################
- key: conclusion.html2024.lea_verou.bio
t: W3C Technical Architecture Group Member & MIT CSAIL Researcher
- key: conclusion.html2024.lea_verou
t: >
*Phew!* This survey has taken a monumental effort by dozens of people across six continents. Not only did it set a new record for the most responses in a “State of…” survey debut, its data collection UI pioneered innovations that gave us unparalleled insight into developer attitudes, and will ripple far beyond its scope.
Some argue that improving HTML is futile, but the survey resoundingly demonstrates the contrary. **Developers crave more interactive HTML elements**: not only were interactive elements like `<datalist>` or the Popover API among those accumulating the most positive sentiment across all categories, but in addition all top [missing elements](https://2024.stateofhtml.com/en-US/usage/#html_missing_elements) were interactive widgets.
However, **making simple things easy** by providing canned functionality is no longer sufficient. **Making complex things possible** by supporting thorough customization is a necessity: insufficient customizability, especially around **styling**, was by far the top recurring pain point.
As a result, form elements were also the elements [most frequently recreated](https://2024.stateofhtml.com/en-US/usage/#html_functionality_features); a lose-lose outcome that makes both developers and end-users suffer. Thankfully, there are many new initiatives to improve this, so the future looks bright.
Another big need is extensibility. It does not scale if only standards bodies have the privilege to extend HTML; and besides, generic elements cannot possibly address the enormous diversity of needs. Unfortunately, **Web Components APIs** (and especially Shadow DOM), while widely used, appear to fall short in terms of meeting developer needs and providing a smooth developer experience, as they topped the charts of worst experiences across the survey. However, the ongoing activity in this area (some of which I have been part of) leaves me hopeful that while it has been a rocky path, they are on track to reach their full potential.
Which brings me to my final point: it is important to remember that this survey is only a snapshot of developer perspectives and reflects the state of the web platform at the time. However, a primary goal of these surveys is to improve the status quo by providing better visibility into developer needs. How many of today’s pain points will be addressed tomorrow as a result? Join us later this year for the survey’s second iteration and let’s find out!
###########################################################################
# FAQ/About
###########################################################################
- key: faq.how_long_will_survey_take_html2024
t: How long will answering the survey take?
- key: faq.how_long_will_survey_take_html2024.description
t: >
Depending on how many questions you answer (all questions can be skipped),
filling out the survey should take around 10-15 minutes.
- key: faq.learn_more_html2024
t: Where can I learn more?
- key: faq.learn_more_html2024.description
t: You can learn more about this survey in [our announcement post](https://dev.to/sachagreif/the-state-of-html-2024-survey-is-now-open-3i4j).
- key: faq.survey_design_html2024
t: How was this survey designed?
- key: faq.survey_design_html2024.description
t: >
This survey was designed as the results of an [open design process](https://github.com/Devographics/surveys/issues/246) involving browser vendors and the web development community.
- key: faq.results_released_html2024
t: When will the results be released?
- key: faq.results_released_html2024.description
t: The survey will run from September 12 to October 1, 2024, and the survey results will be released shortly after.
- key: faq.who_should_take_survey_html2024
t: Who should take this survey?
- key: faq.who_should_take_survey_html2024.description
t: >
This is an open survey for anybody who makes websites or web apps, whether regularly or occasionally, as part of their job, as a student, or just for fun!
- key: faq.data_used_html2024
t: How will this data be used?
- key: faq.data_used_html2024.description
t: >
All data collected will be released openly for any developer or company to consult.
Browser vendors also [use this data](https://web.dev/blog/interop-2024) to prioritize focus areas and inform their roadmaps.
- key: faq.survey_goals_html2024
t: What are the survey's goals?
- key: faq.survey_goals_html2024.description
t: >
The survey's goals are to measure awareness of new HTML features and browser APIs, and help developers keep track of how their usage is evolving.
- key: about.content
t: |
The 2024 State of HTML survey ran from September 19 to October 19 2024, and collected 20,904 responses.
The survey design effort was lead by [Lea Verou](https://lea.verou.me/) thanks to a grant from Google. Lea also oversaw the prototyping, testing, and implementation of new UI data collection elements; contributed to data processing; and helped with data visualization.
The survey infrastructure is run by [Sacha Greif](https://sachagreif.com/) and [Eric Burel](https://www.lbke.fr/), with help from a team of open-source contributors and consultants.
This year's logo and t-shirt were designed by [Christopher Kirk-Nielsen](http://chriskirknielsen.com/).
### Survey Goals
This survey was created to identify upcoming trends in the web development ecosystem in order to help developers make technological choices.
As such, the survey is focused on anticipating what's coming over the next few years rather than analyzing what's popular now, which is why the features or technologies that are currently most widespread are not always included.
It should also be taken as a **snapshot of a specific subset of developers**, and is not meant to speak for the entire ecosystem.
The survey was openly accessible online and respondents were not filtered or selected in any way.
### Project Funding
Funding from this project comes from a variety of sources:
- **T-shirt sales**.
- **Sponsored links**: the links to recommended resources at the bottom of each page are provided by our partner [Frontend Masters](https://frontendmasters.com/).
- **Other Funding**: [Google](https://www.google.com/) and [TokyoDev](https://www.tokyodev.com/) also funded work on the survey.
### Technical Overview
You can find a more in-depth technical overview of how the surveys are run [here](https://dev.to/sachagreif/how-the-devographics-surveys-are-run-2024-edition-1p6a).