-
Notifications
You must be signed in to change notification settings - Fork 13
/
html2024.yml
526 lines (362 loc) · 27.7 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
518
519
520
521
522
523
524
525
526
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.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.patrick_brosset.bio
t: Product Manager on the Edge team at Microsoft
- key: conclusion.html2024.patrick_brosset
t: >
We tend to take HTML for granted, and consider it to be mostly complete. But the elements and browser features it comes with have evolved tremendously over the years, and continue to evolve. As HTML-first architectures are gaining traction, we're getting the capabilities to build them the right way. It's never been a better time to be an HTML developer.
There's more to do though. New problem areas emerge all the time and the platform needs to keep up with new needs.
### Adding New Features…
New HTML elements, such as datatables, tabs, or switches, are dearly needed, but it's important to strike the right balance between complex components that do it all; and simpler but robust and styleable primitives from which we can build.
### …While Improving Old Ones
It's also important to keep improving what we already have. Existing features such as `<select>`, date and time `<input>`, or `<details>` don't always have the right level of stylability and customization – while other features like CSP or Shadow DOM are too complex to use.
Accessibility, although now better recognized as something developers and organizations need to care about, remains hard to test and complex to improve.
### Browser Compatibility
On top of this, the browser compatibility and interoperability of our HTML features continues to be a major obstacle to web developers. Having to support older versions of browsers is a pain. This year, results show that this is especially true for newer features like Popover, anchor positioning, and multi-page View Transitions, but also for `<dialog>` and for PWAs. These features are getting adopted, and developers need them to work everywhere.
### The Challenge of Keeping Up
So, yes, there's more to do. But, things _are_ happening. In fact, they're happening so fast that it can be challenging to stay informed. Resources like MDN, Caniuse.com, Web.dev, or the W3C website are a tremendous help, but there is an opportunity for more tools that help us keep up.
On the other hand, talking about new features too early can be frustrating for developers who can't use them yet. That's why it's important to keep maintaining high-quality platform data such as [browser-compat-data](https://github.com/mdn/browser-compat-data/) and [web-features](https://github.com/web-platform-dx/web-features/), which let us communicate about features in a developer-friendlier way.
### A Bright Future for HTML
To close, it's heartwarming that most respondents agree that, overall, interoperability is now much less of an issue than it used to be, with clear improvements being felt in recent years. And, with the increasing number of capabilities we're getting, building performant, accessible, and interactive HTML-first UIs is becoming easier all the time, making it possible to reduce JavaScript usage to where it truly matters, and letting web servers and browsers communicate how they were meant to: with HTML!
###########################################################################
# 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 12 to November 5 2024, and collected 5,402 responses.
The survey was designed collaboratively through [an open GitHub thread](https://github.com/Devographics/surveys/issues/246) and during [WebDX Community Group](https://www.w3.org/groups/cg/webdx/) meetings.
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-2023-edition-1p6a).