콘텐츠로 건너뛰기

Usage

How you use HTML.

Browser Interoperability

There's always a bit of lag between the state of the web platform and actual real-world adoption, so it shouldn't come as a surprise that the Popover API still tops the rankings. But make no mistake, this feature now officially has the "Newly Available" Baseline status, meaning using it across browser should be much less of an issue going forward.

Which existing HTML features or browser APIs are you unable to use because of browser differences or lack of support?
Multiple
Top pain point topics corresponding to specific web platform features.

View:

Items tagged “features
0%
20%
40%
60%
80%
100%
1
2
<select>
+4
3
-1
4
5
+7
6
-1
7
-3
8
+2
9
<input type="date">
-1
10
0%
20%
40%
60%
80%
100%
% of question respondents

Limited Functionality

Form controls and other interactive elements are once again those perceived as most limiting. With customizable select out of the way, it looks like perhaps date pickers should be the next target.

Which existing HTML features or browser APIs are you unable to use for other reasons (and why)?
Multiple
Top pain point topics corresponding to specific web platform features.

View:

Items tagged “features
0%
20%
40%
60%
80%
100%
1
<select>
2
<input type="date">
3
+5
4
5
-1
6
+1
7
<select multiple>
8
-2
9
10
<input type="color">
0%
20%
40%
60%
80%
100%
% of question respondents

Missing Elements

This year again datatable is the most requested new element. While it would certainly be nice to have built-in filtering, sorting, searching, etc. capabilities, it doesn't seem like something that will become a reality anytime soon.

On the other hand, progress is being made on other long-awaited features such as a native switch element, which explains its drop in the rankings.

If you could add new elements to HTML, what would they be?
Multiple
0%
20%
40%
60%
80%
100%
1
Data table
1,545
2
Combobox/autocomplete
1,249
3
Tabs
-1
1,182
4
Dropdown menu
1,071
5
Rich text editor
975
6
Switch/toggle
-3
957
7
HTML include
920
8
Sortable drag-and-drop list
910
9
Skeleton UI/loading placeholder
-5
728
10
Context menu/right-click menu
-5
719
0%
20%
40%
60%
80%
100%
% of question respondents

Styling Issues

It will be no surprise that form inputs top the list of hardest elements to style. Thankfully, customizable select elements are in the works, even though browser support is still lagging.

Which elements do you struggle the most to style or visually customize?
Multiple
0%
20%
40%
60%
80%
100%
1
<select>
1,699
2
<input type="date">
1,178
3
<select multiple>
792
4
791
5
Validation errors
491
6
432
7
<input type="time">
401
8
369
9
<input type="range">
317
10
314
0%
20%
40%
60%
80%
100%
% of question respondents

It's hard to dispute that JavaScript components have become the dominant paradigm of building UIs on the web. And yes, dealing with all these competing front-end frameworks can be messy–but it's a mess we know (and maybe even love?), a fact that makes it tough for web components to gain ground beyond fourth place.

Which strategies do you use to implement components or otherwise reuse HTML code?
Multiple
0%
20%
40%
60%
80%
100%
1
Component-based JavaScript Frameworks
2,696
2
Server-side templating
1,922
3
Client-side templating
1,297
4
1,237
5
Build-time templating
1,184
6
Copy-paste
914
7
Web Components helper libraries
492
8
🚫 해당사항 없음
44
9
Other Answers
69
0%
20%
40%
60%
80%
100%
% of question respondents

Design Systems

Design systems have become a requirement for most large-scale projects, and that fact is reflected in the popularity of all these various approaches.

Do you use any of the following design system strategies to maintain UI consistency?
Multiple
0%
20%
40%
60%
80%
100%
1
Elements/components
3,084
2
Design tokens
2,664
3
Utilities
2,407
4
Guidelines
2,008
5
Patterns
1,316
6
🚫 해당사항 없음
112
7
Other Answers
45
0%
20%
40%
60%
80%
100%
% of question respondents

HTML/CSS vs JS/TS Balance

As shown in the “Component Strategies” chart above, JavaScript is the de facto vessel for a lot of the HTML code we produce. Which explains why we spend so much time writing it!

How do you divide your time between writing HTML/CSS and JavaScript (or TypeScript) code?
0%
20%
40%
60%
80%
100%
1
100% HTML/CSS
65
2
1
269
3
2
422
4
3
287
5
50%–50%
635
6
5
494
7
6
1,179
8
7
494
9
100% JS
40
0%
20%
40%
60%
80%
100%
% of question respondents

While the average survey respondents mainly works on dynamic web apps, many of us also spend time creating blogs or other text-heavy sites, harkening back to HTML's roots as a document-oriented language.

What do you use HTML for?
Multiple
0%
20%
40%
60%
80%
100%
1
Web apps
3,378
2
Blogs or other text-heavy sites
2,253
3
Marketing sites & landing pages
1,894
4
Design systems
1,519
5
Emails
1,139
6
Desktop apps
891
7
Mobile apps
879
8
Printed documents
659
9
E-Commerce sites
10
🚫 해당사항 없음
16
11
Other Answers
114
0%
20%
40%
60%
80%
100%
% of question respondents
💡
트위터, 페이스북 또는 이메일로 이 설문 조사를 공유하면 자바스크립트 성능이 최대 15% 향상된 것으로 과학적으로 입증되었습니다.

Other Pain Points

When looking at web platform pain points more generally, browser support stands out–especially when it comes to the Apple ecosystem.

As a result, community initiatives such as the #AppleBrowserBan hashtag have been gaining steam, while on the vendor front Interop moves the needle in the right direction each year.

Any other pain points around using HTML and related technologies?
Multiple
Top pain point topics overall.

View:

Items that are not one of “limitations
0%
20%
40%
60%
80%
100%
1
Browser support
1
2
Environments & Consumers
2
3
Content
2
4
Reliance on JavaScript
5
Cognitive overload
2
6
Ecosystem issues
2
7
Education
8
Accessibility
9
Excessive complexity
10
Poor design
1
11
Styling & customization
1
12
Performance
13
Vendor politics
14
Missing elements
15
16
workplace
17
Tooling
18
Security & privacy
19
PDF
20
Declarative APIs
21
Other Answers
0%
20%
40%
60%
80%
100%
% of question respondents

추천하는 리소스

Frontend Masters

Frontend Masters

Advance Your Skills with In-Depth, Modern Front-End Engineering Courses
우리를 지원해 준 파트너들께 감사 드립니다! 더 알아보기.