CINXE.COM
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><style data-href="/styles.6d29befaf7dedb8bdf6c.css" id="gatsby-global-css">/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress{vertical-align:baseline}[hidden],template{display:none}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:700}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.sr-only{border:0;clip:rect(0 0 0 0);clip-path:polygon(0 0,0 0,0 0);-webkit-clip-path:polygon(0 0,0 0,0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.capture .sr-only{display:none!important}@keyframes svgAnts{to{stroke-dashoffset:100%}}code,pre{font-family:IBM Plex Mono,monospace}code,pre,strong{font-weight:800}.first-letter{float:left;display:block;font-size:7rem;margin-right:20px;line-height:1}.conclusion__byline{text-align:right;display:block;font-weight:800}.error{color:#fe6a6a;border:3px solid #f8a8a8;padding:20px}.error-data{font-size:.8rem}.Tooltip{z-index:1000}.mosaic{display:grid;grid-template-columns:repeat(15,1fr)}.mosaic__image{height:50px;overflow:hidden}.mosaic__image img{display:block;width:100%}.capture .pagelayout__inner{display:block}.capture .Sidebar{display:none!important}.capture .Overview__Chart__SwitchContainer{display:none}.capture .Awards__Block{display:block}.capture .Award{width:1000px;height:500px;justify-content:center}.capture .Quadrants__Block .Block__Description{margin-bottom:0}.capture .Quadrants__Chart__Legend{padding-top:60px}.capture .Quadrants__Chart__Legend__Item{font-size:1rem}.capture #connections{width:1000px;height:500px}.capture #participation-by-country{width:1128px}.capture #salaries{width:648px}.capture #salary-per-country{width:1128px}.capture #gender-breakdown{width:892px}.capture #overview{width:988px}.capture #results-over-time{width:728px}.capture #dislikes,.capture #likes{width:1168px}.capture #quadrants{width:1458px}.capture #tool-pairing{width:880px}.capture #tool-usage-by-country{width:1428}.capture #tools-salary-range{width:1140px}.capture #tools-company-size{width:1216px}.capture #tools-years-of-experience{width:1124px}.capture #happiness{width:808px}.capture #other_languages{width:1408px}.capture #browser_apis{width:928px}.capture #build_tools{width:1088px}.capture #utility_libraries{width:768px}.capture #text_editors{width:1164px}.capture #opinion-building_js_apps_overly_complex,.capture #opinion-enjoy_building_js_apps,.capture #opinion-js_ecosystem_changing_to_fast,.capture #opinion-js_moving_in_right_direction,.capture #opinion-js_over_used_online,.capture #opinion-survey_too_long,.capture #opinion-would_like_js_to_be_main_lang{width:728px}.capture.PageLayout--javascript-flavors #other-tools{width:1068px}.capture.PageLayout--front-end-frameworks #other-tools{width:1054px;height:1054px}.capture.PageLayout--data-layer #other-tools{width:1068px}.capture.PageLayout--back-end-frameworks #other-tools{width:1054px;height:1054px}.capture.PageLayout--testing #other-tools{width:1308px}.capture.PageLayout--mobile-and-desktop #other-tools{width:908px}@keyframes appear{to{opacity:1}}@keyframes pop{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@keyframes popspin{0%{transform:scale(0) rotate(0)}50%{transform:scale(1.2) rotate(800deg)}to{transform:scale(1) rotate(2turn)}}@keyframes slideleft{0%{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}@keyframes slideright{0%{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:translateX(0)}}@keyframes slidetop{0%{opacity:0;transform:translateY(-200px) rotate(180deg)}to{opacity:1;transform:translateY(0) rotate(0deg)}}@keyframes blob{0%{opacity:0;transform:translateX(-100%)}20%{opacity:1}80%{opacity:1;transform:translateX(-20px)}to{opacity:1;transform:translateX(-40px)}}.Logo__Container{overflow:hidden;display:flex;justify-content:center;align-items:center;margin-bottom:40px}@media screen and (max-width:599px){.Logo__Container .Logo{text-shadow:none;width:240px;height:120px;position:relative}.Logo__Container .Logo>*{position:absolute}.Logo__Container .Logo .letter{font-size:86.4px;color:#f649a7;font-weight:800;line-height:1}.Logo__Container .Logo .c{top:50%;transform:translateY(-50%);left:28.8px;text-shadow:3px 3px 0 #3c52d1}.Logo__Container .Logo .s1{left:50%;top:50%;transform:translateX(-50%) translateY(-50%)}.Logo__Container .Logo .s2{top:50%;transform:translateY(-50%);right:28.8px}.Logo__Container .Logo .s2 div{text-align:right;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 15 15" xml:space="preserve" height="3px" width="3px"><g ><circle r="4.5" cx="4.5" cy="4.5" fill="%23EC2F95"/></g></svg>');-webkit-background-clip:text;background-clip:text;color:transparent}.Logo__Container .Logo .text{font-size:14.4px;font-style:italic;color:#a3cacd}.Logo__Container .Logo .stateof{top:0;left:0}.Logo__Container .Logo .year{bottom:0;right:0;text-align:right}.Logo__Container .Logo .triangle{width:43.2px;top:54px;left:4.8px}.Logo__Container .Logo .triangle .inner{width:100%;border:30px solid transparent;border-bottom-color:#3c52d1;border-width:0 21.6px 30px}.Logo__Container .Logo .stripe{height:1.5px;width:30px;background:#a3cacd}.Logo__Container .Logo .stripe1{top:74.4px;left:28.8px}.Logo__Container .Logo .stripe2{top:80.4px;left:26.4px}.Logo__Container .Logo .stripe3{top:86.4px;left:24px}.Logo__Container .Logo .stripe4{top:92.4px;left:26.4px}.Logo__Container .Logo .blobs{-webkit-filter:url(#blob);filter:url(#blob);left:30px;top:36px;transform:rotate(-20deg);width:120px;height:60px;display:flex;justify-content:center;align-items:center}.Logo__Container .Logo .blob{width:50%;height:100%;background:#a3cacd;border-radius:50%}.Logo__Container .Logo .blob2{transform:translateX(-12px)}.Logo__Container .Logo .circle{width:76.8px;top:50%;left:calc(50% - 3px)}.Logo__Container .Logo .circle .inner{transform:translateX(-50%) translateY(-50%)}.Logo__Container .Logo .circle .inner div{width:100%;height:0;padding-bottom:100%;border:3px dashed #3c52d1;border-radius:100%;box-sizing:content-box}.Logo__Container .Logo .frame{width:64.8px;right:26.4px;top:50%}.Logo__Container .Logo .frame .inner{transform:translateY(-50%) rotate(45deg)}.Logo__Container .Logo .frame .inner div{border:3px solid #3c52d1;width:100%;height:0;padding-bottom:100%;box-sizing:content-box;box-shadow:2.1px 2.1px 0 0 #a3cacd}.Logo__Container .Logo .tilde{font-size:33.6px;line-height:1}.Logo__Container .Logo .tilde1{top:24px;right:12px}.Logo__Container .Logo .tilde2{top:30px;right:9.6px}.Logo__Container .Logo .tilde3{top:36px;right:7.2px}.Logo__Container .Logo--animated .c>div{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:pop;animation-duration:.3s;animation-delay:.1s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .s1>div{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:pop;animation-duration:.3s;animation-delay:.2s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .s2>div{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:pop;animation-duration:.3s;animation-delay:.3s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .circle>div>div{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:popspin;animation-duration:.6s;animation-delay:.5s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);transform:scale(0)}.Logo__Container .Logo--animated .frame{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slidetop;animation-duration:.6s;animation-delay:.8s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);transform:scale(0) translateY(-60px) rotate(180deg)}.Logo__Container .Logo--animated .blob1{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:pop;animation-duration:.3s;animation-delay:.9s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .blob2{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:blob;animation-duration:.5s;animation-delay:1.1s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-100%)}.Logo__Container .Logo--animated .stripe1{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideleft;animation-duration:.4s;animation-delay:1.4s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(12px)}.Logo__Container .Logo--animated .stripe2{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideleft;animation-duration:.4s;animation-delay:1.5s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(12px)}.Logo__Container .Logo--animated .stripe3{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideleft;animation-duration:.4s;animation-delay:1.6s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(12px)}.Logo__Container .Logo--animated .stripe4{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideleft;animation-duration:.4s;animation-delay:1.7s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(12px)}.Logo__Container .Logo--animated .tilde1{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideright;animation-duration:.4s;animation-delay:1.9s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-12px)}.Logo__Container .Logo--animated .tilde2{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideright;animation-duration:.4s;animation-delay:2s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-12px)}.Logo__Container .Logo--animated .tilde3{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideright;animation-duration:.4s;animation-delay:2.1s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-12px)}.Logo__Container .Logo--animated .triangle{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:popspin;animation-duration:.6s;animation-delay:2.8s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);transform:scale(0)}.Logo__Container .Logo--animated .stateof{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:appear;animation-duration:.3s;animation-delay:2.2s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0}.Logo__Container .Logo--animated .year{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:appear;animation-duration:.3s;animation-delay:2.5s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0}}@media screen and (min-width:600px) and (max-width:999px){.Logo__Container .Logo{text-shadow:none;width:400px;height:200px;position:relative}.Logo__Container .Logo>*{position:absolute}.Logo__Container .Logo .letter{font-size:144px;color:#f649a7;font-weight:800;line-height:1}.Logo__Container .Logo .c{top:50%;transform:translateY(-50%);left:48px;text-shadow:5px 5px 0 #3c52d1}.Logo__Container .Logo .s1{left:50%;top:50%;transform:translateX(-50%) translateY(-50%)}.Logo__Container .Logo .s2{top:50%;transform:translateY(-50%);right:48px}.Logo__Container .Logo .s2 div{text-align:right;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 25 25" xml:space="preserve" height="5px" width="5px"><g ><circle r="7.5" cx="7.5" cy="7.5" fill="%23EC2F95"/></g></svg>');-webkit-background-clip:text;background-clip:text;color:transparent}.Logo__Container .Logo .text{font-size:24px;font-style:italic;color:#a3cacd}.Logo__Container .Logo .stateof{top:0;left:0}.Logo__Container .Logo .year{bottom:0;right:0;text-align:right}.Logo__Container .Logo .triangle{width:72px;top:90px;left:8px}.Logo__Container .Logo .triangle .inner{width:100%;border:50px solid transparent;border-bottom-color:#3c52d1;border-width:0 36px 50px}.Logo__Container .Logo .stripe{height:2.5px;width:50px;background:#a3cacd}.Logo__Container .Logo .stripe1{top:124px;left:48px}.Logo__Container .Logo .stripe2{top:134px;left:44px}.Logo__Container .Logo .stripe3{top:144px;left:40px}.Logo__Container .Logo .stripe4{top:154px;left:44px}.Logo__Container .Logo .blobs{-webkit-filter:url(#blob);filter:url(#blob);left:50px;top:60px;transform:rotate(-20deg);width:200px;height:100px;display:flex;justify-content:center;align-items:center}.Logo__Container .Logo .blob{width:50%;height:100%;background:#a3cacd;border-radius:50%}.Logo__Container .Logo .blob2{transform:translateX(-20px)}.Logo__Container .Logo .circle{width:128px;top:50%;left:calc(50% - 5px)}.Logo__Container .Logo .circle .inner{transform:translateX(-50%) translateY(-50%)}.Logo__Container .Logo .circle .inner div{width:100%;height:0;padding-bottom:100%;border:5px dashed #3c52d1;border-radius:100%;box-sizing:content-box}.Logo__Container .Logo .frame{width:108px;right:44px;top:50%}.Logo__Container .Logo .frame .inner{transform:translateY(-50%) rotate(45deg)}.Logo__Container .Logo .frame .inner div{border:5px solid #3c52d1;width:100%;height:0;padding-bottom:100%;box-sizing:content-box;box-shadow:3.5px 3.5px 0 0 #a3cacd}.Logo__Container .Logo .tilde{font-size:56px;line-height:1}.Logo__Container .Logo .tilde1{top:40px;right:20px}.Logo__Container .Logo .tilde2{top:50px;right:16px}.Logo__Container .Logo .tilde3{top:60px;right:12px}.Logo__Container .Logo--animated .c>div{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:pop;animation-duration:.3s;animation-delay:.1s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .s1>div{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:pop;animation-duration:.3s;animation-delay:.2s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .s2>div{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:pop;animation-duration:.3s;animation-delay:.3s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .circle>div>div{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:popspin;animation-duration:.6s;animation-delay:.5s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);transform:scale(0)}.Logo__Container .Logo--animated .frame{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slidetop;animation-duration:.6s;animation-delay:.8s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);transform:scale(0) translateY(-100px) rotate(180deg)}.Logo__Container .Logo--animated .blob1{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:pop;animation-duration:.3s;animation-delay:.9s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .blob2{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:blob;animation-duration:.5s;animation-delay:1.1s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-100%)}.Logo__Container .Logo--animated .stripe1{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideleft;animation-duration:.4s;animation-delay:1.4s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(20px)}.Logo__Container .Logo--animated .stripe2{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideleft;animation-duration:.4s;animation-delay:1.5s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(20px)}.Logo__Container .Logo--animated .stripe3{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideleft;animation-duration:.4s;animation-delay:1.6s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(20px)}.Logo__Container .Logo--animated .stripe4{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideleft;animation-duration:.4s;animation-delay:1.7s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(20px)}.Logo__Container .Logo--animated .tilde1{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideright;animation-duration:.4s;animation-delay:1.9s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-20px)}.Logo__Container .Logo--animated .tilde2{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideright;animation-duration:.4s;animation-delay:2s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-20px)}.Logo__Container .Logo--animated .tilde3{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideright;animation-duration:.4s;animation-delay:2.1s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-20px)}.Logo__Container .Logo--animated .triangle{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:popspin;animation-duration:.6s;animation-delay:2.8s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);transform:scale(0)}.Logo__Container .Logo--animated .stateof{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:appear;animation-duration:.3s;animation-delay:2.2s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0}.Logo__Container .Logo--animated .year{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:appear;animation-duration:.3s;animation-delay:2.5s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0}}@media screen and (min-width:1000px){.Logo__Container .Logo{text-shadow:none;width:640px;height:320px;position:relative}.Logo__Container .Logo>*{position:absolute}.Logo__Container .Logo .letter{font-size:230.4px;color:#f649a7;font-weight:800;line-height:1}.Logo__Container .Logo .c{top:50%;transform:translateY(-50%);left:76.8px;text-shadow:8px 8px 0 #3c52d1}.Logo__Container .Logo .s1{left:50%;top:50%;transform:translateX(-50%) translateY(-50%)}.Logo__Container .Logo .s2{top:50%;transform:translateY(-50%);right:76.8px}.Logo__Container .Logo .s2 div{text-align:right;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 40 40" xml:space="preserve" height="8px" width="8px"><g ><circle r="12" cx="12" cy="12" fill="%23EC2F95"/></g></svg>');-webkit-background-clip:text;background-clip:text;color:transparent}.Logo__Container .Logo .text{font-size:38.4px;font-style:italic;color:#a3cacd}.Logo__Container .Logo .stateof{top:0;left:0}.Logo__Container .Logo .year{bottom:0;right:0;text-align:right}.Logo__Container .Logo .triangle{width:115.2px;top:144px;left:12.8px}.Logo__Container .Logo .triangle .inner{width:100%;border:80px solid transparent;border-bottom-color:#3c52d1;border-width:0 57.6px 80px}.Logo__Container .Logo .stripe{height:4px;width:80px;background:#a3cacd}.Logo__Container .Logo .stripe1{top:198.4px;left:76.8px}.Logo__Container .Logo .stripe2{top:214.4px;left:70.4px}.Logo__Container .Logo .stripe3{top:230.4px;left:64px}.Logo__Container .Logo .stripe4{top:246.4px;left:70.4px}.Logo__Container .Logo .blobs{-webkit-filter:url(#blob);filter:url(#blob);left:80px;top:96px;transform:rotate(-20deg);width:320px;height:160px;display:flex;justify-content:center;align-items:center}.Logo__Container .Logo .blob{width:50%;height:100%;background:#a3cacd;border-radius:50%}.Logo__Container .Logo .blob2{transform:translateX(-32px)}.Logo__Container .Logo .circle{width:204.8px;top:50%;left:calc(50% - 8px)}.Logo__Container .Logo .circle .inner{transform:translateX(-50%) translateY(-50%)}.Logo__Container .Logo .circle .inner div{width:100%;height:0;padding-bottom:100%;border:8px dashed #3c52d1;border-radius:100%;box-sizing:content-box}.Logo__Container .Logo .frame{width:172.8px;right:70.4px;top:50%}.Logo__Container .Logo .frame .inner{transform:translateY(-50%) rotate(45deg)}.Logo__Container .Logo .frame .inner div{border:8px solid #3c52d1;width:100%;height:0;padding-bottom:100%;box-sizing:content-box;box-shadow:5.6px 5.6px 0 0 #a3cacd}.Logo__Container .Logo .tilde{font-size:89.6px;line-height:1}.Logo__Container .Logo .tilde1{top:64px;right:32px}.Logo__Container .Logo .tilde2{top:80px;right:25.6px}.Logo__Container .Logo .tilde3{top:96px;right:19.2px}.Logo__Container .Logo--animated .c>div{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:pop;animation-duration:.3s;animation-delay:.1s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .s1>div{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:pop;animation-duration:.3s;animation-delay:.2s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .s2>div{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:pop;animation-duration:.3s;animation-delay:.3s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .circle>div>div{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:popspin;animation-duration:.6s;animation-delay:.5s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);transform:scale(0)}.Logo__Container .Logo--animated .frame{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slidetop;animation-duration:.6s;animation-delay:.8s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);transform:scale(0) translateY(-160px) rotate(180deg)}.Logo__Container .Logo--animated .blob1{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:pop;animation-duration:.3s;animation-delay:.9s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .blob2{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:blob;animation-duration:.5s;animation-delay:1.1s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-100%)}.Logo__Container .Logo--animated .stripe1{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideleft;animation-duration:.4s;animation-delay:1.4s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(32px)}.Logo__Container .Logo--animated .stripe2{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideleft;animation-duration:.4s;animation-delay:1.5s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(32px)}.Logo__Container .Logo--animated .stripe3{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideleft;animation-duration:.4s;animation-delay:1.6s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(32px)}.Logo__Container .Logo--animated .stripe4{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideleft;animation-duration:.4s;animation-delay:1.7s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(32px)}.Logo__Container .Logo--animated .tilde1{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideright;animation-duration:.4s;animation-delay:1.9s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-32px)}.Logo__Container .Logo--animated .tilde2{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideright;animation-duration:.4s;animation-delay:2s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-32px)}.Logo__Container .Logo--animated .tilde3{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideright;animation-duration:.4s;animation-delay:2.1s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-32px)}.Logo__Container .Logo--animated .triangle{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:popspin;animation-duration:.6s;animation-delay:2.8s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);transform:scale(0)}.Logo__Container .Logo--animated .stateof{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:appear;animation-duration:.3s;animation-delay:2.2s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0}.Logo__Container .Logo--animated .year{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:appear;animation-duration:.3s;animation-delay:2.5s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0}}.Feature__Links,.Feature__Support{font-size:.9rem;font-weight:400}.FTBlock__Links__Item{margin-bottom:6.66667px}.Features__Overview{display:flex;flex-wrap:wrap;justify-content:space-between}.Features__Overview__Item{width:240px;height:260px;margin-bottom:40px;display:grid;grid-template-rows:210px 50px}.Features__Overview__Item__Footer{border-top:2px solid #9ac6c9;border-bottom:2px solid #9ac6c9;font-size:.9rem;font-weight:800;display:flex;justify-content:center;align-items:center}.Features__Overview__Item__Footer:hover{background:#9ac6c9;color:#fff;cursor:pointer}.capture .FTBlock__Description{grid-column:1/3}@media screen and (max-width:599px){.FTBlock__Resources{margin-top:20px}}.FTBlock__Resources h3{margin-bottom:10px;font-size:1rem}.FTBlock__Resources ul{padding-left:20px}.capture .FTBlock__Resources{display:none}.OpinionScaleChart{padding-top:20px}.OpinionScaleChart svg{overflow:visible}.FeaturesOverviewChart{height:100%}@media screen and (max-width:599px){.FeaturesSectionOverviewChart{height:200px;height:400px}}@media screen and (min-width:600px) and (max-width:999px){.FeaturesSectionOverviewChart{height:500px}}@media screen and (min-width:1000px){.FeaturesSectionOverviewChart{height:500px}}.ToolsOverviewCirclePackingChart svg{overflow:visible}@media screen and (max-width:599px){.TechnologiesOverviewChart{height:800px}}@media screen and (min-width:600px) and (max-width:999px){.TechnologiesOverviewChart{height:800px}}@media screen and (min-width:1000px){.TechnologiesOverviewChart{height:800px}}.Quadrant__Label{color:#41c7c7;fill:#41c7c7;text-transform:uppercase;letter-spacing:3px;opacity:.75;font-size:1.3rem}.Scatterplot__Node{transition:all .5s ease-out}.Scatterplot__Node--active .Scatterplot__Node__Crosshairs{opacity:1;transition:all .2s ease-out}.Scatterplot__Node--active .Scatterplot__Node__Label{transform:translateX(30px);transition:all .2s ease-out}.Scatterplot__Node--active .Scatterplot__Node__Label__Background{opacity:.75;transition:all .2s ease-out}.Scatterplot__Node--active .Scatterplot__Node__Label__Text{fill:#232840;transition:all .2s ease-out}.Scatterplot__Node--active .Scatterplot__Node__Crosshair__Line{stroke-dasharray:8,4;animation:svgAnts 50s linear infinite;animation-fill-mode:forwards}.Scatterplot__Node--inactive{opacity:.3;transition:all .5s ease-out}.Scatterplot__Node__Label{pointer-events:none;transition:all .2s ease-out}.Scatterplot__Node__Label__Background{opacity:0;transition:all .2s ease-out}.Scatterplot__Node__Label__Text{font-size:.8rem;transition:all .2s ease-out}.Scatterplot__Node__Crosshairs{pointer-events:none;opacity:0;transition:all .2s ease-out}.Scatterplot__Node__PointHover{opacity:.75}.Scatterplot__Node__Crosshair__Label{font-size:.8rem}.text-highlight{background:#41c7c7;background:#000}.text-green,.text-highlight{display:inline-block;color:#232840;border-radius:15px;padding:0 12px;font-weight:800}.text-green{background:#41c7c7;background:#85eba2}.text-pink{background:#41c7c7;background:#f649a7}.text-pink,.text-pink-light{display:inline-block;color:#232840;border-radius:15px;padding:0 12px;font-weight:800}.text-pink-light{background:#41c7c7;background:#ec75cb}.text-pink-lighter{background:#41c7c7;background:#d68df0}.text-pink-lighter,.text-red{display:inline-block;color:#232840;border-radius:15px;padding:0 12px;font-weight:800}.text-red{background:#41c7c7;background:#fe6a6a}.text-teal{background:#41c7c7}.text-teal,.text-teal-dark{display:inline-block;color:#232840;border-radius:15px;padding:0 12px;font-weight:800}.text-teal-dark{background:#41c7c7;background:#2ba7a7}.text-teal-darker{background:#41c7c7;background:#1d7e7e}.text-blue,.text-teal-darker{display:inline-block;color:#232840;border-radius:15px;padding:0 12px;font-weight:800}.text-blue{background:#41c7c7;background:#3c52d1}.text-blackred{display:inline-block;background:#41c7c7;color:#232840;border-radius:15px;padding:0 12px;background:rgba(0,0,0,.3);color:#41c7c7;border:1px solid #fe6a6a}.text-blackred,.text-bold{font-weight:800}.Chip{display:block;margin-right:7px;position:relative;overflow:hidden;height:12px;width:12px}.Chip__Inner{height:100%;width:100%;display:block}.Chip--split .Chip__Inner{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}.Chip--split .Chip__Inner:last-child{z-index:2;width:200%;height:100%;transform:translateX(-3px) translateY(5px) rotate(-45deg)}.react-tabs{-webkit-tap-highlight-color:transparent}.react-tabs__tab-list{border-bottom:1px solid #aaa;margin:0 0 10px;padding:0}.react-tabs__tab{display:inline-block;border:1px solid transparent;border-bottom:none;bottom:-1px;position:relative;list-style:none;padding:6px 12px;cursor:pointer}.react-tabs__tab--selected{background:#fff;border-color:#aaa;color:#000;border-radius:5px 5px 0 0}.react-tabs__tab--disabled{color:GrayText;cursor:default}.react-tabs__tab:focus{box-shadow:0 0 5px #0188fe;border-color:#0188fe;outline:none}.react-tabs__tab:focus:after{content:"";position:absolute;height:5px;left:-4px;right:-4px;bottom:-5px;background:#fff}.react-tabs__tab-panel{display:none}.react-tabs__tab-panel--selected{display:block}.ToolsArrowsChart{position:relative;margin:auto;display:flex}@media (max-width:800px){.ToolsArrowsChart{padding-left:0;padding-right:0}}.ToolsArrowsChart svg{fill:#e0e4e4;overflow:visible}.ToolsArrowsChart__svg{position:absolute;top:0;right:0;bottom:0;left:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.ToolsArrowsChart__axis{stroke:#484f73;stroke-width:1px}.ToolsArrowsChart__axis__label{text-transform:uppercase;letter-spacing:.1em;font-size:.66em;font-weight:600;fill-opacity:.5;dominant-baseline:middle}@keyframes gradientLineSegmentIn{0%{stroke-opacity:0}to{stroke-opacity:1}}.ToolsArrowsChart__tool--is-hidden{opacity:0;pointer-events:none}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line{stroke-opacity:0;animation:gradientLineSegmentIn .2s ease-out;animation-fill-mode:forwards}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-0{animation-delay:0s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-1{animation-delay:.03s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-2{animation-delay:.06s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-3{animation-delay:.09s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-4{animation-delay:.12s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-5{animation-delay:.15s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-6{animation-delay:.18s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-7{animation-delay:.21s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-8{animation-delay:.24s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-9{animation-delay:.27s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-10{animation-delay:.3s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-11{animation-delay:.33s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-12{animation-delay:.36s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-13{animation-delay:.39s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-14{animation-delay:.42s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-15{animation-delay:.45s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-16{animation-delay:.48s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-17{animation-delay:.51s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-18{animation-delay:.54s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-19{animation-delay:.57s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-20{animation-delay:.6s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-21{animation-delay:.63s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-22{animation-delay:.66s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-23{animation-delay:.69s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-24{animation-delay:.72s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-25{animation-delay:.75s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-26{animation-delay:.78s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-27{animation-delay:.81s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-28{animation-delay:.84s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-29{animation-delay:.87s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-30{animation-delay:.9s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-31{animation-delay:.93s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-32{animation-delay:.96s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-33{animation-delay:.99s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-34{animation-delay:1.02s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-35{animation-delay:1.05s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-36{animation-delay:1.08s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-37{animation-delay:1.11s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-38{animation-delay:1.14s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-39{animation-delay:1.17s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-40{animation-delay:1.2s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-41{animation-delay:1.23s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-42{animation-delay:1.26s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-43{animation-delay:1.29s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-44{animation-delay:1.32s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-45{animation-delay:1.35s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-46{animation-delay:1.38s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-47{animation-delay:1.41s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-48{animation-delay:1.44s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-49{animation-delay:1.47s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-50{animation-delay:1.5s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-51{animation-delay:1.53s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-52{animation-delay:1.56s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-53{animation-delay:1.59s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-54{animation-delay:1.62s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-55{animation-delay:1.65s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-56{animation-delay:1.68s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-57{animation-delay:1.71s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-58{animation-delay:1.74s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-59{animation-delay:1.77s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-60{animation-delay:1.8s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-61{animation-delay:1.83s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-62{animation-delay:1.86s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-63{animation-delay:1.89s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-64{animation-delay:1.92s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-65{animation-delay:1.95s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-66{animation-delay:1.98s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-67{animation-delay:2.01s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-68{animation-delay:2.04s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-69{animation-delay:2.07s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-70{animation-delay:2.1s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-71{animation-delay:2.13s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-72{animation-delay:2.16s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-73{animation-delay:2.19s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-74{animation-delay:2.22s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-75{animation-delay:2.25s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-76{animation-delay:2.28s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-77{animation-delay:2.31s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-78{animation-delay:2.34s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-79{animation-delay:2.37s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-80{animation-delay:2.4s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-81{animation-delay:2.43s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-82{animation-delay:2.46s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-83{animation-delay:2.49s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-84{animation-delay:2.52s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-85{animation-delay:2.55s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-86{animation-delay:2.58s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-87{animation-delay:2.61s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-88{animation-delay:2.64s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-89{animation-delay:2.67s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-90{animation-delay:2.7s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-91{animation-delay:2.73s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-92{animation-delay:2.76s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-93{animation-delay:2.79s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-94{animation-delay:2.82s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-95{animation-delay:2.85s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-96{animation-delay:2.88s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-97{animation-delay:2.91s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-98{animation-delay:2.94s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-99{animation-delay:2.97s}.ToolsArrowsChart__tool--is-hovering .ToolsArrowsChart__year{fill-opacity:1}.ToolsArrowsChart__tool--is-hovering-other text{fill-opacity:0;stroke-opacity:0}.ToolsArrowsChart__tool--is-hovering-other .ToolsArrowsChart__gradient-line{stroke:#232840;stroke-width:1!important}.ToolsArrowsChart__tool--is-hovering-other .ToolsArrowsChart__now{fill-opacity:.2!important}.ToolsArrowsChart__hover-background{stroke-width:30px;stroke:transparent;fill:none}.ToolsArrowsChart__year{fill-opacity:0}.ToolsArrowsChart__gradient-line{fill:none;stroke-width:4.5px;mix-blend-mode:lighten;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}@keyframes fadeInSlideUp{0%{fill-opacity:0;transform:translateY(1em)}to{fill-opacity:1;transform:translateY(0)}}.ToolsArrowsChart__year{font-size:.8em;font-weight:600;pointer-events:none}.ToolsArrowsChart__label-background{font-size:.8em;font-weight:600;stroke:#1a1f35;stroke-width:3px}.ToolsArrowsChart__label{font-size:.8em;font-weight:600}.ToolsArrowsChart__label__box{cursor:default}.ToolsArrowsChart__label__box text{pointer-events:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ToolsArrowsChart__listener{fill:transparent}.ToolsArrowsChart__label{cursor:pointer}.ToolsArrowsChart__label:hover{fill:#fff}</style><meta name="generator" content="Gatsby 2.27.0"/><title data-react-helmet="true">State of JS 2020: Browser APIs</title><link data-react-helmet="true" rel="shortcut icon" href="/images/favicon.png"/><link data-react-helmet="true" rel="preconnect" href="https://fonts.gstatic.com/"/><link data-react-helmet="true" href="https://fonts.googleapis.com/css?family=IBM+Plex+Mono:300,300i,500,600" rel="stylesheet"/><meta data-react-helmet="true" charSet="utf-8"/><meta data-react-helmet="true" name="description" content="The annual survey about the latest trends in the JavaScript ecosystem."/><meta data-react-helmet="true" name="viewport" content="width=device-width, initial-scale=1"/><meta data-react-helmet="true" name="google-site-verification" content="hrTRsz9fkGmQlVbLBWA4wmhn0qsI6_M3NKemTGCkpps"/><meta data-react-helmet="true" property="og:type" content="article"/><meta data-react-helmet="true" property="og:url" content="https://2020.stateofjs.com/en-US/features/browser-apis/"/><meta data-react-helmet="true" property="og:image" content="https://2020.stateofjs.com/images/stateofjs2020_socialmedia.png"/><meta data-react-helmet="true" property="og:title" content="State of JS 2020: Browser APIs"/><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"/><meta data-react-helmet="true" name="twitter:image:src" content="https://2020.stateofjs.com/images/stateofjs2020_socialmedia.png"/><meta data-react-helmet="true" name="twitter:title" content="State of JS 2020: Browser APIs"/><style data-styled="" data-styled-version="5.2.1">body{background:#222429;color:#e0e4e4;padding:0;font-feature-settings:'liga' 0;line-height:1.7;font-family:'IBM Plex Mono',monospace;font-weight:300;}/*!sc*/ @media screen and (max-width:599px){body{font-size:13px;}}/*!sc*/ @media screen and (min-width:1000px){body{font-size:17px;min-height:100vh;}}/*!sc*/ html{box-sizing:border-box;}/*!sc*/ *,*:before,*:after{box-sizing:inherit;}/*!sc*/ h1,h2,h3,h4,h5,h6{font-family:'IBM Plex Mono',monospace;font-weight:800;margin:0 0 20px 0;}/*!sc*/ a{-webkit-text-decoration:none;text-decoration:none;font-weight:800;}/*!sc*/ a,a:link,a:visited,a:active,a:focus{color:#41c7c7;}/*!sc*/ a:hover,a:focus{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/ p,ul,ol{margin:0 0 20px 0;}/*!sc*/ @media screen and (max-width:599px){p,ul,ol{line-height:1.6;}}/*!sc*/ @media screen and (min-width:600px){p,ul,ol{line-height:1.8;}}/*!sc*/ pre,code{font-family:'IBM Plex Mono',monospace;font-weight:800;}/*!sc*/ @media screen and (max-width:599px){.desktop{display:none;}}/*!sc*/ @media screen and (min-width:600px){.mobile{display:none;}}/*!sc*/ iframe{display:none;}/*!sc*/ .ModalContent{outline:none;}/*!sc*/ .ReactModal__Overlay{z-index:6000;}/*!sc*/ .ReactModal__Body--open{overflow:hidden;}/*!sc*/ .Page--awards .Page__Introduction{margin:0;}/*!sc*/ .Page--awards .Page__Introduction p{margin:0;}/*!sc*/ @media screen and (min-width:600px){.Page--awards .Page__Contents{width:100%;display:grid;grid-template-columns:1fr 1fr;-webkit-column-gap:120px;column-gap:120px;row-gap:80px;}.Page--awards .Page__Contents .Page__Introduction{grid-column:1 / 3;}}/*!sc*/ .t-modkeydown.t-fallback,.t-modkeydown.t-missing{text-shadow:0px 2px 7px rgba(133,235,162,0.95);}/*!sc*/ .t-modkeydown.t-fallback:hover,.t-modkeydown.t-missing:hover{cursor:pointer;text-shadow:0px 2px 7px rgba(246,73,167,0.95);}/*!sc*/ .hint-export-button{display:inline-block;font-weight:800;border:1px dashed;font-size:0.8rem;padding:4px 10px;}/*!sc*/ .hint-completion-indicator{display:inline-block;color:#41c7c7;font-size:1.4rem;}/*!sc*/ data-styled.g1[id="sc-global-IPRrj1"]{content:"sc-global-IPRrj1,"}/*!sc*/ .fIONJq{stroke:#41c7c7;}/*!sc*/ data-styled.g2[id="Hamburger__Container-j038hg-0"]{content:"fIONJq,"}/*!sc*/ .bYXlbR{left:50%;position:absolute;padding:4px 8px;white-space:nowrap;-webkit-transform:translate(-50%,-130%);-ms-transform:translate(-50%,-130%);transform:translate(-50%,-130%);opacity:0;font-size:0.8rem;border-radius:3px;-webkit-transition:all 200ms ease-in;transition:all 200ms ease-in;pointer-events:none;background:#e0e4e4;color:#222429;}/*!sc*/ .bYXlbR:after{bottom:-15px;left:50%;content:' ';height:0;width:0;position:absolute;pointer-events:none;margin-left:-8px;border:8px solid rgba(136,183,213,0);border-top-color:#e0e4e4;}/*!sc*/ .bHsPNt{left:50%;position:absolute;padding:4px 8px;white-space:nowrap;-webkit-transform:translate(-50%,-130%);-ms-transform:translate(-50%,-130%);transform:translate(-50%,-130%);opacity:0;font-size:0.8rem;border-radius:3px;-webkit-transition:all 200ms ease-in;transition:all 200ms ease-in;pointer-events:none;background:#41c7c7;color:#222429;}/*!sc*/ .bHsPNt:after{bottom:-15px;left:50%;content:' ';height:0;width:0;position:absolute;pointer-events:none;margin-left:-8px;border:8px solid rgba(136,183,213,0);border-top-color:#41c7c7;}/*!sc*/ data-styled.g3[id="BlockCompletionIndicator__Tooltip-sc-13goqqp-0"]{content:"bYXlbR,bHsPNt,"}/*!sc*/ .htZHAE{margin-left:10px;position:relative;padding:2px;}/*!sc*/ .htZHAE:focus{outline:5px auto -webkit-focus-ring-color;}/*!sc*/ .htZHAE:hover .BlockCompletionIndicator__Tooltip-sc-13goqqp-0,.htZHAE:focus .BlockCompletionIndicator__Tooltip-sc-13goqqp-0{opacity:1;-webkit-transform:translate(-50%,-140%);-ms-transform:translate(-50%,-140%);transform:translate(-50%,-140%);-webkit-transition:all 200ms ease-in;transition:all 200ms ease-in;}/*!sc*/ data-styled.g4[id="BlockCompletionIndicator__Container-sc-13goqqp-1"]{content:"htZHAE,"}/*!sc*/ .kiGCwo{display:block;}/*!sc*/ data-styled.g5[id="BlockCompletionIndicator__Chart-sc-13goqqp-2"]{content:"kiGCwo,"}/*!sc*/ .khMAWA{fill:#cecdcc;opacity:0.5;}/*!sc*/ .hNsnqo{fill:#41c7c7;opacity:0.5;}/*!sc*/ data-styled.g6[id="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3"]{content:"khMAWA,hNsnqo,"}/*!sc*/ .dozdiy{stroke:#cecdcc;}/*!sc*/ .cJwfmm{stroke:#41c7c7;}/*!sc*/ data-styled.g7[id="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4"]{content:"dozdiy,cJwfmm,"}/*!sc*/ .hfkwXz{display:grid;grid-template-columns:auto auto;grid-column-gap:30px;grid-row-gap:30px;}/*!sc*/ data-styled.g8[id="Locales__Container-sc-1lgl2z3-0"]{content:"hfkwXz,"}/*!sc*/ .fiDitP{text-align:center;font-size:1rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ @media screen and (max-width:999px){.fiDitP{font-size:0.8rem;}}/*!sc*/ @media screen and (min-width:1000px){.fiDitP{font-size:1rem;}}/*!sc*/ .fiDitP._is-current{font-weight:800;}/*!sc*/ data-styled.g9[id="Locales__Item-sc-1lgl2z3-1"]{content:"fiDitP,"}/*!sc*/ @media screen and (max-width:999px){.Pagination .Popover__Container-sc-3zqg9-0{display:none;}}/*!sc*/ .Sidebar .Popover__Container-sc-3zqg9-0{margin-bottom:20px;border:1px solid #5c6069;}/*!sc*/ @media screen and (min-width:1000px){.Sidebar .Popover__Container-sc-3zqg9-0{display:none;}}/*!sc*/ data-styled.g10[id="Popover__Container-sc-3zqg9-0"]{content:"fxzssI,"}/*!sc*/ .iFJNkp{position:relative;}/*!sc*/ .Sidebar .Popover__PopoverInner-sc-3zqg9-1{padding:8px 12px;}/*!sc*/ data-styled.g11[id="Popover__PopoverInner-sc-3zqg9-1"]{content:"iFJNkp,"}/*!sc*/ .hwouLV{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;background:transparent;color:#e0e4e4;font-size:1rem;cursor:pointer;outline:none;border:none;box-sizing:border-box;}/*!sc*/ .hwouLV span{display:block;margin-right:5px;}/*!sc*/ .hwouLV svg{display:block;width:12px;position:relative;}/*!sc*/ .hwouLV svg polygon{fill:#e0e4e4;}/*!sc*/ .Pagination .Popover__PopoverToggle-sc-3zqg9-2{padding:20px;}/*!sc*/ @media screen and (max-width:999px){.hwouLV{font-size:0.8rem;}}/*!sc*/ .hwouLV:focus{outline:5px auto -webkit-focus-ring-color;}/*!sc*/ data-styled.g12[id="Popover__PopoverToggle-sc-3zqg9-2"]{content:"hwouLV,"}/*!sc*/ .edvQGu{position:absolute;top:125%;left:50%;padding:20px;background:#2a2d33;border:1px solid #5c6069;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);z-index:5000;box-shadow:0px 6px 16px rgba(0,0,0,0.3),0px 2px 6px rgba(0,0,0,0.2);}/*!sc*/ @media screen and (max-width:599px){.edvQGu{width:100%;}}/*!sc*/ @media screen and (min-width:600px){.edvQGu{width:300px;}}/*!sc*/ .edvQGu:before{left:50%;border:solid transparent;content:' ';height:18px;width:18px;background:#2a2d33;position:absolute;pointer-events:none;-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center;border:1px solid #5c6069;top:0;-webkit-transform:translate(-9px,-9px) rotate(-45deg);-ms-transform:translate(-9px,-9px) rotate(-45deg);transform:translate(-9px,-9px) rotate(-45deg);border-bottom:0;border-left:0;}/*!sc*/ @media screen and (max-width:999px){.edvQGu{top:145%;}}/*!sc*/ @media screen and (max-width:599px){.edvQGu{max-width:90vw;}}/*!sc*/ .Popover._is-closed .Popover__PopoverPopup-sc-3zqg9-3{display:none;}/*!sc*/ data-styled.g13[id="Popover__PopoverPopup-sc-3zqg9-3"]{content:"edvQGu,"}/*!sc*/ .khubsu{font-size:0.8rem;padding-top:20px;margin-top:20px;border-top:1px solid #5c6069;}/*!sc*/ data-styled.g14[id="LanguageSwitcher__LanguageSwitcherHelp-sc-1dnlai8-0"]{content:"khubsu,"}/*!sc*/ .isboRP{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;padding:20px;}/*!sc*/ @media screen and (max-width:999px){.isboRP{font-size:0.7rem;}.isboRP span{display:block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;width:100%;text-align:center;}}/*!sc*/ @media screen and (min-width:1000px){.isboRP{font-size:1rem;}}/*!sc*/ .isboRP:hover,.isboRP:focus{background:#2a2d33;}/*!sc*/ .kyWIcc{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;padding:20px;}/*!sc*/ @media screen and (max-width:999px){.kyWIcc{font-size:0.7rem;}.kyWIcc span{display:block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;width:100%;text-align:center;}}/*!sc*/ @media screen and (min-width:1000px){.kyWIcc{font-size:1rem;}}/*!sc*/ .kyWIcc:hover,.kyWIcc:focus{background:#2a2d33;}/*!sc*/ data-styled.g15[id="PaginationLink__StyledLink-sc-15wpe8c-0"]{content:"isboRP,kyWIcc,"}/*!sc*/ .jdyKgW{display:block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;z-index:1000;position:relative;}/*!sc*/ .jdyKgW:last-child{margin-right:0;}/*!sc*/ .jdyKgW svg{height:100%;width:100%;}/*!sc*/ .jdyKgW svg circle,.jdyKgW svg path{fill:#e0e4e4;}/*!sc*/ .jdyKgW:hover svg path,.jdyKgW:focus svg path,.jdyKgW:hover svg circle,.jdyKgW:focus svg circle{fill:#41c7c7;}/*!sc*/ @media screen and (max-width:599px){.jdyKgW{top:0;left:0;position:absolute;}}/*!sc*/ .ShareBlock .ShareLink__Link-sc-1qpv5j1-0{height:24px;width:24px;opacity:0;display:none;}/*!sc*/ .ShareBlock._is-visible .ShareLink__Link-sc-1qpv5j1-0{pointer-events:auto;display:block;}/*!sc*/ @media screen and (max-width:599px){.ShareBlock._is-visible .ShareLink__Link-sc-1qpv5j1-0.ShareLink--twitter{-webkit-animation:cARFhl 500ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;animation:cARFhl 500ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;}}/*!sc*/ @media screen and (min-width:600px){.ShareBlock._is-visible .ShareLink__Link-sc-1qpv5j1-0.ShareLink--twitter{-webkit-animation:bPXDEJ 500ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;animation:bPXDEJ 500ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;}}/*!sc*/ @media screen and (max-width:599px){.ShareBlock._is-visible .ShareLink__Link-sc-1qpv5j1-0.ShareLink--facebook{-webkit-animation:ljWKCc 500ms 100ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;animation:ljWKCc 500ms 100ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;}}/*!sc*/ @media screen and (min-width:600px){.ShareBlock._is-visible .ShareLink__Link-sc-1qpv5j1-0.ShareLink--facebook{-webkit-animation:cMBegx 500ms 100ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;animation:cMBegx 500ms 100ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;}}/*!sc*/ @media screen and (max-width:599px){.ShareBlock._is-visible .ShareLink__Link-sc-1qpv5j1-0.ShareLink--linkedin{-webkit-animation:kZHiaN 500ms 200ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;animation:kZHiaN 500ms 200ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;}}/*!sc*/ @media screen and (min-width:600px){.ShareBlock._is-visible .ShareLink__Link-sc-1qpv5j1-0.ShareLink--linkedin{-webkit-animation:fKEkIt 500ms 200ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;animation:fKEkIt 500ms 200ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;}}/*!sc*/ @media screen and (max-width:599px){.ShareBlock._is-visible .ShareLink__Link-sc-1qpv5j1-0.ShareLink--email{-webkit-animation:ewHXmC 500ms 300ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;animation:ewHXmC 500ms 300ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;}}/*!sc*/ @media screen and (min-width:600px){.ShareBlock._is-visible .ShareLink__Link-sc-1qpv5j1-0.ShareLink--email{-webkit-animation:kxSgkt 500ms 300ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;animation:kxSgkt 500ms 300ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;}}/*!sc*/ @media screen and (max-width:599px){.ShareBlock._is-visible .ShareLink__Link-sc-1qpv5j1-0.ShareLink--image{-webkit-animation:ieWsjv 500ms 300ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;animation:ieWsjv 500ms 300ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;}}/*!sc*/ @media screen and (min-width:600px){.ShareBlock._is-visible .ShareLink__Link-sc-1qpv5j1-0.ShareLink--image{-webkit-animation:bdkvTi 500ms 300ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;animation:bdkvTi 500ms 300ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;}}/*!sc*/ .ShareSite .ShareLink__Link-sc-1qpv5j1-0{-webkit-transition:none;transition:none;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;text-align:center;padding:20px 6.6000000000000005px;}/*!sc*/ .ShareSite .ShareLink__Link-sc-1qpv5j1-0:not(:last-child){border-right:1px solid #5c6069;}/*!sc*/ .ShareSite .ShareLink__Link-sc-1qpv5j1-0:hover,.ShareSite .jdyKgW:focus{background:#2a2d33;}/*!sc*/ .ShareSite .ShareLink__Link-sc-1qpv5j1-0 svg{display:block;margin:0 auto;height:24px;width:24px;}/*!sc*/ @media screen and (max-width:599px){.ShareSite .ShareLink__Link-sc-1qpv5j1-0{position:static;}}/*!sc*/ data-styled.g16[id="ShareLink__Link-sc-1qpv5j1-0"]{content:"jdyKgW,"}/*!sc*/ .jxqLoD{border-top:1px solid #5c6069;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:space-evenly;-webkit-justify-content:space-evenly;-ms-flex-pack:space-evenly;justify-content:space-evenly;position:relative;z-index:1;}/*!sc*/ data-styled.g17[id="ShareSite__Container-ayv7ct-0"]{content:"jxqLoD,"}/*!sc*/ .gTZSEw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;white-space:nowrap;margin:0 0 6.6000000000000005px 0;font-size:1rem;font-weight:800;position:relative;-webkit-text-decoration:none;text-decoration:none;-webkit-transition:all ease-in 300ms;transition:all ease-in 300ms;}/*!sc*/ @media screen and (max-width:999px){.gTZSEw{margin-bottom:10px;display:block;}}/*!sc*/ @media screen and (min-width:1000px){.gTZSEw{margin-left:0;}.gTZSEw > span{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block;}}/*!sc*/ .gTZSEw._is-active span span::before{content:'> ';}/*!sc*/ @media screen and (max-width:999px){.gTZSEw._is-active span span::after{content:' <';}}/*!sc*/ .gTZSEw,.gTZSEw:link,.gTZSEw:visited,.gTZSEw:active,.gTZSEw:focus{color:#41c7c7;text-shadow:0px 2px 3px rgba(65,199,199,0.4);}/*!sc*/ .gTZSEw > span{display:inline-block;position:relative;}/*!sc*/ .gTZSEw > span::before{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background-color:#41c7c7;-webkit-transform-origin:bottom right;-ms-transform-origin:bottom right;transform-origin:bottom right;-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0);-webkit-transition:-webkit-transform 0.5s ease;-webkit-transition:transform 0.5s ease;transition:transform 0.5s ease;}/*!sc*/ .gTZSEw._is-active{color:#94eeee;text-shadow:0px 2px 3px rgba(148,238,238,0.4);}/*!sc*/ .gTZSEw._is-active > span::before{background-color:#94eeee;}/*!sc*/ .gTZSEw:hover,.gTZSEw:focus{-webkit-text-decoration:none;text-decoration:none;text-shadow:0px 2px 7px rgba(65,199,199,0.9);}/*!sc*/ .gTZSEw:hover > span::before,.gTZSEw:focus > span::before{-webkit-transform-origin:bottom left;-ms-transform-origin:bottom left;transform-origin:bottom left;-webkit-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1);}/*!sc*/ .gbRils{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;white-space:nowrap;margin:0 0 6.6000000000000005px 0;font-size:0.9rem;font-weight:400;position:relative;-webkit-text-decoration:none;text-decoration:none;-webkit-transition:all ease-in 300ms;transition:all ease-in 300ms;}/*!sc*/ @media screen and (max-width:999px){.gbRils{margin-bottom:10px;display:block;}}/*!sc*/ @media screen and (min-width:1000px){.gbRils{margin-left:20px;}.gbRils > span{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block;}}/*!sc*/ .gbRils._is-active span span::before{content:'> ';}/*!sc*/ @media screen and (max-width:999px){.gbRils._is-active span span::after{content:' <';}}/*!sc*/ .gbRils,.gbRils:link,.gbRils:visited,.gbRils:active,.gbRils:focus{color:#e0e4e4;text-shadow:0px 2px 3px rgba(224,228,228,0.4);}/*!sc*/ .gbRils > span{display:inline-block;position:relative;}/*!sc*/ .gbRils > span::before{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background-color:#e0e4e4;-webkit-transform-origin:bottom right;-ms-transform-origin:bottom right;transform-origin:bottom right;-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0);-webkit-transition:-webkit-transform 0.5s ease;-webkit-transition:transform 0.5s ease;transition:transform 0.5s ease;}/*!sc*/ .gbRils._is-active{color:#94eeee;text-shadow:0px 2px 3px rgba(148,238,238,0.4);}/*!sc*/ .gbRils._is-active > span::before{background-color:#94eeee;}/*!sc*/ .gbRils:hover,.gbRils:focus{-webkit-text-decoration:none;text-decoration:none;text-shadow:0px 2px 7px rgba(224,228,228,0.9);}/*!sc*/ .gbRils:hover > span::before,.gbRils:focus > span::before{-webkit-transform-origin:bottom left;-ms-transform-origin:bottom left;transform-origin:bottom left;-webkit-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1);}/*!sc*/ .jJODYN{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;white-space:nowrap;margin:0 0 6.6000000000000005px 0;font-size:0.9rem;font-weight:400;position:relative;-webkit-text-decoration:none;text-decoration:none;-webkit-transition:all ease-in 300ms;transition:all ease-in 300ms;}/*!sc*/ @media screen and (max-width:999px){.jJODYN{margin-bottom:10px;display:block;}}/*!sc*/ @media screen and (min-width:1000px){.jJODYN{margin-left:20px;display:none;}.jJODYN > span{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block;}}/*!sc*/ .jJODYN._is-active span span::before{content:'> ';}/*!sc*/ @media screen and (max-width:999px){.jJODYN._is-active span span::after{content:' <';}}/*!sc*/ .jJODYN,.jJODYN:link,.jJODYN:visited,.jJODYN:active,.jJODYN:focus{color:#e0e4e4;text-shadow:0px 2px 3px rgba(224,228,228,0.4);}/*!sc*/ .jJODYN > span{display:inline-block;position:relative;}/*!sc*/ .jJODYN > span::before{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background-color:#e0e4e4;-webkit-transform-origin:bottom right;-ms-transform-origin:bottom right;transform-origin:bottom right;-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0);-webkit-transition:-webkit-transform 0.5s ease;-webkit-transition:transform 0.5s ease;transition:transform 0.5s ease;}/*!sc*/ .jJODYN._is-active{color:#94eeee;text-shadow:0px 2px 3px rgba(148,238,238,0.4);}/*!sc*/ .jJODYN._is-active > span::before{background-color:#94eeee;}/*!sc*/ .jJODYN:hover,.jJODYN:focus{-webkit-text-decoration:none;text-decoration:none;text-shadow:0px 2px 7px rgba(224,228,228,0.9);}/*!sc*/ .jJODYN:hover > span::before,.jJODYN:focus > span::before{-webkit-transform-origin:bottom left;-ms-transform-origin:bottom left;transform-origin:bottom left;-webkit-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1);}/*!sc*/ data-styled.g18[id="Nav__StyledPageLink-uo6ep0-0"]{content:"gTZSEw,gbRils,jJODYN,"}/*!sc*/ .iskZBJ{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;padding:30px 20px;overflow-y:auto;}/*!sc*/ @media screen and (max-width:999px){.iskZBJ{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow-y:scroll;}}/*!sc*/ data-styled.g19[id="Nav__NavContainer-uo6ep0-1"]{content:"iskZBJ,"}/*!sc*/ .bXJgCf{position:relative;width:100%;}/*!sc*/ data-styled.g20[id="Nav__LanguageSwitcherWrapper-uo6ep0-2"]{content:"bXJgCf,"}/*!sc*/ .edOkpG{width:67px;height:67px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;font-size:26px;position:relative;border-left:1px solid #5c6069;background:#222429;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .Logo:hover .LogoCell__Container-n9we24-0{background:#2a2d33;}/*!sc*/ @media screen and (max-width:999px){.edOkpG:last-child{border-right:1px solid #5c6069;}}/*!sc*/ @media screen and (min-width:1000px){.edOkpG:first-child{border-left:0;}}/*!sc*/ data-styled.g21[id="LogoCell__Container-n9we24-0"]{content:"edOkpG,"}/*!sc*/ .iWHLb{position:absolute;top:0;left:0;font-size:12px;line-height:12px;padding:6px 8px;color:#e0e4e4;opacity:0.35;font-weight:300;}/*!sc*/ data-styled.g22[id="LogoCell__Index-n9we24-1"]{content:"iWHLb,"}/*!sc*/ .hZEPJH{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;}/*!sc*/ data-styled.g23[id="SidebarLogo__Container-qwaf9p-0"]{content:"hZEPJH,"}/*!sc*/ .hHlUQl{border-right:1px solid #5c6069;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}/*!sc*/ @media screen and (min-width:1000px){.hHlUQl{width:270px;height:100vh;position:fixed;}}/*!sc*/ @media screen and (max-width:999px){.hHlUQl{width:100%;top:0;bottom:0;left:0;right:0;background:#222429;z-index:1000;text-align:center;position:fixed;display:none;}}/*!sc*/ data-styled.g24[id="Sidebar__SidebarContainer-sc-1u4yidz-0"]{content:"hHlUQl,"}/*!sc*/ .eRTXyl{border:0;-webkit-clip:rect(0 0 0 0);clip:rect(0 0 0 0);-webkit-clip-path:polygon(0px 0px,0px 0px,0px 0px);clip-path:polygon(0px 0px,0px 0px,0px 0px);-webkit-clip-path:polygon(0px 0px,0px 0px,0px 0px);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;}/*!sc*/ data-styled.g25[id="Sidebar__SidebarScreenReadersTitle-sc-1u4yidz-1"]{content:"eRTXyl,"}/*!sc*/ .kbZNhn{border:0;-webkit-clip:rect(0 0 0 0);clip:rect(0 0 0 0);-webkit-clip-path:polygon(0px 0px,0px 0px,0px 0px);clip-path:polygon(0px 0px,0px 0px,0px 0px);-webkit-clip-path:polygon(0px 0px,0px 0px,0px 0px);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;}/*!sc*/ data-styled.g26[id="Sidebar__ScreenReadersHint-sc-1u4yidz-2"]{content:"kbZNhn,"}/*!sc*/ .kWZfrr{display:grid;grid-template-columns:0 1fr 0;grid-template-areas:'left logo right';border-bottom:1px solid #5c6069;}/*!sc*/ @media screen and (max-width:999px){.kWZfrr{grid-template-columns:50px 1fr 50px;}}/*!sc*/ data-styled.g27[id="Sidebar__SidebarHeader-sc-1u4yidz-3"]{content:"kWZfrr,"}/*!sc*/ .dAEVjl{grid-area:logo;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ .dAEVjl svg{max-height:76px;}/*!sc*/ .dAEVjl:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ data-styled.g28[id="Sidebar__SidebarLogoLink-sc-1u4yidz-4"]{content:"dAEVjl,"}/*!sc*/ .bpKdro{grid-area:right;margin:0;padding:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:none;cursor:pointer;border:none;position:absolute;box-sizing:border-box;width:calc(calc(100vw - 270px) / 2);height:68px;}/*!sc*/ .bpKdro svg{stroke:#41c7c7;}/*!sc*/ @media screen and (min-width:1000px){.bpKdro{display:none;}}/*!sc*/ .bpKdro:hover,.bpKdro:focus{background-color:#2a2d33;}/*!sc*/ data-styled.g29[id="Sidebar__SidebarCloseButton-sc-1u4yidz-5"]{content:"bpKdro,"}/*!sc*/ .eyWRuW{border-bottom:1px solid #5c6069;z-index:10;position:relative;display:grid;grid-template-columns:1fr auto 1fr;}/*!sc*/ @media screen and (max-width:999px){.eyWRuW{border-bottom:none;grid-template-columns:1fr 0px 1fr;}.eyWRuW > *:first-child{border-left:1px solid #5c6069;border-right:1px solid #5c6069;}}/*!sc*/ data-styled.g30[id="Pagination__Container-fmwu6l-0"]{content:"eyWRuW,"}/*!sc*/ .iZEAbN{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-left:1px solid #5c6069;border-right:1px solid #5c6069;}/*!sc*/ @media screen and (max-width:999px){.iZEAbN{border-left:none;border-right:none;}}/*!sc*/ data-styled.g31[id="Pagination__MiddleContent-fmwu6l-1"]{content:"iZEAbN,"}/*!sc*/ .iMYawq{border:0;-webkit-clip:rect(0 0 0 0);clip:rect(0 0 0 0);-webkit-clip-path:polygon(0px 0px,0px 0px,0px 0px);clip-path:polygon(0px 0px,0px 0px,0px 0px);-webkit-clip-path:polygon(0px 0px,0px 0px,0px 0px);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;}/*!sc*/ data-styled.g33[id="MainLayout__ScreenReadersHint-uwvjad-0"]{content:"iMYawq,"}/*!sc*/ .koUIH{display:block;padding:1rem 1rem;position:absolute;top:-900px;left:-900px;}/*!sc*/ .koUIH:focus{display:inline-block;position:static !important;top:0 !important;left:0 !important;border:2px solid white;}/*!sc*/ data-styled.g34[id="MainLayout__Skip-uwvjad-1"]{content:"koUIH,"}/*!sc*/ @media screen and (max-width:999px){.hQFQAx{padding-left:5rem;border-bottom:1px solid #5c6069;}}/*!sc*/ data-styled.g35[id="MainLayout__PaginationWrapper-uwvjad-2"]{content:"hQFQAx,"}/*!sc*/ .gxaSHK{display:block;background-color:transparent;outline:none;border:none;position:absolute;top:0;left:0;cursor:pointer;padding:0.825rem 1rem 0.5rem 1rem;width:5rem;height:3.71rem;box-sizing:border-box;}/*!sc*/ .gxaSHK svg{width:2rem;height:auto;}/*!sc*/ @media screen and (min-width:1000px){.gxaSHK{display:none;}}/*!sc*/ .gxaSHK:focus{border:2px solid #ACFFC3;outline:5px auto -webkit-focus-ring-color;}/*!sc*/ .gxaSHK:hover,.gxaSHK:focus{background:#2a2d33;}/*!sc*/ data-styled.g36[id="MainLayout__MenuToggle-uwvjad-3"]{content:"gxaSHK,"}/*!sc*/ .kngwcV{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}/*!sc*/ data-styled.g37[id="MainLayout__PageContent-uwvjad-4"]{content:"kngwcV,"}/*!sc*/ .dMDcdD{min-height:100vh;position:relative;}/*!sc*/ @media screen and (min-width:1000px){.dMDcdD{display:grid;grid-template-columns:270px calc(100% - 270px);}}/*!sc*/ @media screen and (max-width:999px){.dMDcdD{grid-template-columns:5rem auto;}}/*!sc*/ data-styled.g38[id="MainLayout__Page-uwvjad-5"]{content:"dMDcdD,"}/*!sc*/ .fpohRl{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;overflow-x:hidden;overflow-y:visible;}/*!sc*/ @media screen and (max-width:999px){.fpohRl{padding:20px;}}/*!sc*/ @media screen and (min-width:1000px){.fpohRl{padding:60px;}}/*!sc*/ data-styled.g39[id="MainLayout__PageMain-uwvjad-6"]{content:"fpohRl,"}/*!sc*/ .ctbAJh{font-size:2rem;}/*!sc*/ @media screen and (max-width:599px){.ctbAJh{font-size:1.3rem;}}/*!sc*/ @media screen and (min-width:600px){.ctbAJh{font-size:2rem;}}/*!sc*/ data-styled.g43[id="PageHeader__PageTitle-sc-1i3f46f-0"]{content:"ctbAJh,"}/*!sc*/ @media screen and (max-width:599px){.dRuaES{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}}/*!sc*/ @media screen and (min-width:600px){.dRuaES{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle;}}/*!sc*/ data-styled.g44[id="ButtonGroup-sc-1k32jr0-0"]{content:"dRuaES,"}/*!sc*/ .jrlGls{background:none;cursor:pointer;display:block;text-align:center;font-weight:800;border:1px dashed;box-shadow:0 0 0 rgba(0,0,0,0);-webkit-transition:all 300ms ease-out;transition:all 300ms ease-out;padding:10px 20px;}/*!sc*/ .jrlGls,.jrlGls:link,.jrlGls:visited{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ @media screen and (max-width:599px){.jrlGls{font-size:0.8rem;}}/*!sc*/ @media screen and (min-width:600px){.jrlGls{font-size:1rem;}}/*!sc*/ .jrlGls,.jrlGls:link,.jrlGls:visited{border-color:#e0e4e4;color:#e0e4e4;}/*!sc*/ .jrlGls:hover,.jrlGls:focus{border-style:solid;border-color:#41c7c7;color:#41c7c7;}/*!sc*/ .jrlGls:hover,.jrlGls:focus{-webkit-text-decoration:none;text-decoration:none;box-shadow:0 3px 0 rgba(0,0,0,0.3);background:#2a2d33;}/*!sc*/ .jrlGls.Button--selected{background:#2a2d33;cursor:default;pointer-events:none;border-style:solid;}/*!sc*/ @media screen and (max-width:599px){.ButtonGroup-sc-1k32jr0-0 .Button-tirokp-0{width:100%;-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;border-top-width:0;}.ButtonGroup-sc-1k32jr0-0 .Button-tirokp-0:first-child{border-top-width:1px;}.ButtonGroup-sc-1k32jr0-0 .Button-tirokp-0:hover,.ButtonGroup-sc-1k32jr0-0 .jrlGls:focus{border-top-color:#5c6069;border-bottom-color:#5c6069;}}/*!sc*/ @media screen and (min-width:600px){.ButtonGroup-sc-1k32jr0-0 .Button-tirokp-0{border-left-width:0;}.ButtonGroup-sc-1k32jr0-0 .Button-tirokp-0:first-child{border-left-width:1px;}.ButtonGroup-sc-1k32jr0-0 .Button-tirokp-0:hover,.ButtonGroup-sc-1k32jr0-0 .Button-tirokp-0:focus{border-left-color:#5c6069;border-right-color:#5c6069;}}/*!sc*/ .jrlGls .ButtonGroup-sc-1k32jr0-0--active{cursor:default;pointer-events:none;}/*!sc*/ .dwxRHq{background:none;cursor:pointer;display:block;text-align:center;font-weight:800;border:1px dashed;box-shadow:0 0 0 rgba(0,0,0,0);-webkit-transition:all 300ms ease-out;transition:all 300ms ease-out;font-size:0.8rem;padding:4px 10px;}/*!sc*/ .dwxRHq,.dwxRHq:link,.dwxRHq:visited{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .dwxRHq,.dwxRHq:link,.dwxRHq:visited{border-color:#e0e4e4;color:#e0e4e4;}/*!sc*/ .dwxRHq:hover,.dwxRHq:focus{border-style:solid;border-color:#41c7c7;color:#41c7c7;}/*!sc*/ .dwxRHq:hover,.dwxRHq:focus{-webkit-text-decoration:none;text-decoration:none;box-shadow:0 3px 0 rgba(0,0,0,0.3);background:#2a2d33;}/*!sc*/ .dwxRHq.Button--selected{background:#2a2d33;cursor:default;pointer-events:none;border-style:solid;}/*!sc*/ @media screen and (max-width:599px){.ButtonGroup-sc-1k32jr0-0 .Button-tirokp-0{width:100%;-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;border-top-width:0;}.ButtonGroup-sc-1k32jr0-0 .Button-tirokp-0:first-child{border-top-width:1px;}.ButtonGroup-sc-1k32jr0-0 .Button-tirokp-0:hover,.ButtonGroup-sc-1k32jr0-0 .dwxRHq:focus{border-top-color:#5c6069;border-bottom-color:#5c6069;}}/*!sc*/ @media screen and (min-width:600px){.ButtonGroup-sc-1k32jr0-0 .Button-tirokp-0{border-left-width:0;}.ButtonGroup-sc-1k32jr0-0 .Button-tirokp-0:first-child{border-left-width:1px;}.ButtonGroup-sc-1k32jr0-0 .Button-tirokp-0:hover,.ButtonGroup-sc-1k32jr0-0 .Button-tirokp-0:focus{border-left-color:#5c6069;border-right-color:#5c6069;}}/*!sc*/ .dwxRHq .ButtonGroup-sc-1k32jr0-0--active{cursor:default;pointer-events:none;}/*!sc*/ data-styled.g45[id="Button-tirokp-0"]{content:"jrlGls,dwxRHq,"}/*!sc*/ @media screen and (max-width:599px){.jEYWnh{margin-top:80px;}}/*!sc*/ @media screen and (min-width:600px){.jEYWnh{margin-top:120px;}}/*!sc*/ data-styled.g46[id="PageFooter__Container-pu9659-0"]{content:"jEYWnh,"}/*!sc*/ @media screen and (max-width:599px){.dBJAfU{display:grid;grid-template-columns:1fr 1fr;-webkit-column-gap:20px;column-gap:20px;}}/*!sc*/ @media screen and (min-width:600px){.dBJAfU{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}}/*!sc*/ data-styled.g47[id="PageFooter__Nav-pu9659-1"]{content:"dBJAfU,"}/*!sc*/ .efIfui{font-size:0.8rem;text-align:center;}/*!sc*/ @media screen and (max-width:599px){.efIfui{margin-top:80px;}}/*!sc*/ @media screen and (min-width:600px){.efIfui{margin-top:120px;}}/*!sc*/ data-styled.g48[id="PageFooter__Notes-pu9659-2"]{content:"efIfui,"}/*!sc*/ @media screen and (max-width:599px){.fLCcbb{display:block;text-align:center;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;width:100%;}}/*!sc*/ data-styled.g49[id="PageFooter__FooterLink-pu9659-3"]{content:"fLCcbb,"}/*!sc*/ @media screen and (min-width:600px){.ecDXdZ{margin-right:20px;}}/*!sc*/ data-styled.g50[id="PageFooter__PreviousLink-pu9659-4"]{content:"ecDXdZ,"}/*!sc*/ @media screen and (max-width:599px){.hEKYIR{display:none;}}/*!sc*/ data-styled.g52[id="PageFooter__LinkLabel-pu9659-6"]{content:"hEKYIR,"}/*!sc*/ .eghido{position:relative;}/*!sc*/ .capture .ShareBlock__Container-awxqfs-0{display:none;}/*!sc*/ data-styled.g53[id="ShareBlock__Container-awxqfs-0"]{content:"eghido,"}/*!sc*/ @media screen and (min-width:600px){.cAwBhT{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}}/*!sc*/ data-styled.g54[id="ShareBlock__ButtonWrapper-awxqfs-1"]{content:"cAwBhT,"}/*!sc*/ .hnxXLV{position:absolute;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;max-width:300px;margin:0 auto;pointer-events:none;}/*!sc*/ @media screen and (max-width:599px){.hnxXLV{left:50%;top:50%;}}/*!sc*/ @media screen and (min-width:600px){.hnxXLV{top:0;left:110%;}}/*!sc*/ data-styled.g57[id="ShareBlock__Popup-awxqfs-4"]{content:"hnxXLV,"}/*!sc*/ .capture .BlockExport__ButtonWrapper-sc-1gwpler-2{display:none;}/*!sc*/ data-styled.g63[id="BlockExport__ButtonWrapper-sc-1gwpler-2"]{content:"hjHqeU,"}/*!sc*/ @media screen and (min-width:600px){.jOWEGs{margin-left:10px;}}/*!sc*/ data-styled.g64[id="BlockExport__ExportButton-sc-1gwpler-3"]{content:"jOWEGs,"}/*!sc*/ .gJOVcJ{float:left;opacity:0;line-height:1;width:22px;margin-left:-30px;margin-right:8px;-webkit-transition:none;transition:none;position:relative;}/*!sc*/ @media screen and (max-width:599px){.gJOVcJ{display:none;}}/*!sc*/ @media screen and (min-width:600px){.gJOVcJ{top:1px;}}/*!sc*/ .gJOVcJ path{fill:rgba(255,255,255,0.4);}/*!sc*/ data-styled.g68[id="SharePermalink__Link-ndc8lc-0"]{content:"gJOVcJ,"}/*!sc*/ .dbINfu{border:0;-webkit-clip:rect(0 0 0 0);clip:rect(0 0 0 0);-webkit-clip-path:polygon(0px 0px,0px 0px,0px 0px);clip-path:polygon(0px 0px,0px 0px,0px 0px);-webkit-clip-path:polygon(0px 0px,0px 0px,0px 0px);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;}/*!sc*/ data-styled.g69[id="BlockTitle__ScreenReadersHint-nuxb31-0"]{content:"dbINfu,"}/*!sc*/ .jDLsKE{padding:0px 8px;}/*!sc*/ @media screen and (min-width:600px){.jDLsKE{display:none;}}/*!sc*/ .jDLsKE svg{display:block;width:18px;}/*!sc*/ .jDLsKE g{stroke:#e0e4e4;}/*!sc*/ data-styled.g70[id="BlockTitle__MoreButton-nuxb31-1"]{content:"jDLsKE,"}/*!sc*/ .dAAPyT{border-bottom:1px solid #5c6069;padding-bottom:10px;margin-bottom:20px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;}/*!sc*/ .dAAPyT:hover .SharePermalink{opacity:1;}/*!sc*/ .dAAPyT .PopoverInner{position:static;}/*!sc*/ .dAAPyT .PopoverPopup:before{left:auto;right:0;}/*!sc*/ data-styled.g71[id="BlockTitle__StyledBlockTitle-nuxb31-2"]{content:"dAAPyT,"}/*!sc*/ .iivsMM{margin-bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;}/*!sc*/ @media screen and (max-width:599px){.iivsMM{opacity:1;-webkit-transition:all 300ms ease-in;transition:all 300ms ease-in;-webkit-flex:1;-ms-flex:1;flex:1;}}/*!sc*/ data-styled.g72[id="BlockTitle__BlockTitleText-nuxb31-3"]{content:"iivsMM,"}/*!sc*/ .iCAAeX{-webkit-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;}/*!sc*/ data-styled.g73[id="BlockTitle__LeftPart-nuxb31-4"]{content:"iCAAeX,"}/*!sc*/ .hmJkhL{margin-bottom:20px;}/*!sc*/ .hmJkhL p:last-child{margin:0;}/*!sc*/ data-styled.g74[id="BlockTitle__Description-nuxb31-5"]{content:"hmJkhL,"}/*!sc*/ @media screen and (max-width:599px){}/*!sc*/ @media screen and (min-width:600px){.bcoAoM{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;}}/*!sc*/ .capture .BlockTitle__BlockChartControls-nuxb31-6{display:none;}/*!sc*/ data-styled.g75[id="BlockTitle__BlockChartControls-nuxb31-6"]{content:"bcoAoM,"}/*!sc*/ .fNQoWU .ShareBlock,.fNQoWU .BlockChartControls{margin-top:20px;}/*!sc*/ data-styled.g76[id="BlockTitle__PopoverContents-nuxb31-7"]{content:"fNQoWU,"}/*!sc*/ @media screen and (max-width:599px){.bzxYzw{display:none;}}/*!sc*/ @media screen and (min-width:600px){.bzxYzw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.bzxYzw .ShareBlock{margin-left:10px;}}/*!sc*/ data-styled.g77[id="BlockTitle__BlockTitleActionsWrapper-nuxb31-8"]{content:"bzxYzw,"}/*!sc*/ @media screen and (max-width:599px){.aNaBd{display:none;}}/*!sc*/ data-styled.g78[id="BlockTitle__BlockTitleSwitcherWrapper-nuxb31-9"]{content:"aNaBd,"}/*!sc*/ .hhWSdE{cursor:default;}/*!sc*/ .hhWSdE:last-child{margin-bottom:0;}/*!sc*/ data-styled.g80[id="BlockLegendsItem__Container-sc-9fsuse-0"]{content:"hhWSdE,"}/*!sc*/ .cunMmr{padding:5px 10px 5px 0;}/*!sc*/ data-styled.g81[id="BlockLegendsItem__ChipWrapper-sc-9fsuse-1"]{content:"cunMmr,"}/*!sc*/ .cngVNh{padding:5px 10px 5px 0;width:100%;}/*!sc*/ data-styled.g84[id="BlockLegendsItem__Label-sc-9fsuse-4"]{content:"cngVNh,"}/*!sc*/ .eZbJfN{font-size:0.8rem;margin-top:20px;margin-bottom:0;width:100%;border:1px solid #5c6069;padding:10px;}/*!sc*/ @media screen and (max-width:599px){.eZbJfN{padding:10px;}}/*!sc*/ data-styled.g86[id="BlockLegends__Container-x2sx8r-0"]{content:"eZbJfN,"}/*!sc*/ @media screen and (min-width:600px){.dxTlgm{display:grid;}}/*!sc*/ @media screen and (min-width:600px) and (max-width:999px){.dxTlgm{grid-template-columns:1fr 1fr;-webkit-column-gap:20px;column-gap:20px;}}/*!sc*/ @media screen and (min-width:1000px){.dxTlgm{grid-template-columns:repeat(auto-fit,minmax(120px,auto));-webkit-column-gap:20px;column-gap:20px;}}/*!sc*/ data-styled.g87[id="BlockLegends__ContainerInner-x2sx8r-1"]{content:"dxTlgm,"}/*!sc*/ @media screen and (max-width:599px){.bglUIQ{margin-bottom:40px;}}/*!sc*/ @media screen and (min-width:600px){.bglUIQ{margin-bottom:80px;}}/*!sc*/ .bglUIQ:last-child{margin-bottom:0;}/*!sc*/ data-styled.g88[id="Block__Container-sc-11g8wz8-0"]{content:"bglUIQ,"}/*!sc*/ .cUpOwA{position:relative;}/*!sc*/ data-styled.g89[id="ChartContainer__ChartContainerOuter-edfgx0-0"]{content:"cUpOwA,"}/*!sc*/ .xUamw svg{display:block;}/*!sc*/ @media screen and (max-width:999px){.xUamw{overflow-x:scroll;}}/*!sc*/ data-styled.g90[id="ChartContainer__Container-edfgx0-1"]{content:"xUamw,"}/*!sc*/ @media screen and (max-width:599px){}/*!sc*/ @media screen and (max-width:999px){.gpvRnu.ChartContainerInner--expand{min-width:800px;padding-bottom:20px;}}/*!sc*/ data-styled.g91[id="ChartContainer__ChartContainerInner-edfgx0-2"]{content:"gpvRnu,"}/*!sc*/ @media screen and (min-width:1000px){.dvUnOd{display:grid;grid-template-columns:auto auto;grid-gap:40px;}}/*!sc*/ data-styled.g103[id="RecommendedResourcesBlock__List-sc-3eimjm-0"]{content:"dvUnOd,"}/*!sc*/ .gDvwNJ{margin-bottom:0;}/*!sc*/ data-styled.g104[id="RecommendedResourcesBlock__Title-sc-3eimjm-1"]{content:"gDvwNJ,"}/*!sc*/ .gLKNHc{font-size:0.9rem;}/*!sc*/ data-styled.g105[id="RecommendedResourcesBlock__Description-sc-3eimjm-2"]{content:"gLKNHc,"}/*!sc*/ .jvUgjO{margin-bottom:20px;}/*!sc*/ @media screen and (min-width:600px){.jvUgjO{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}}/*!sc*/ data-styled.g106[id="RecommendedResourcesBlock__Resource-sc-3eimjm-3"]{content:"jvUgjO,"}/*!sc*/ @media screen and (max-width:599px){.gvBpbm{width:60px;float:right;margin:0 0 20px 20px;}}/*!sc*/ @media screen and (min-width:600px){.gvBpbm{width:130px;margin-right:20px;}}/*!sc*/ .gvBpbm a{display:block;width:100%;padding-bottom:90%;height:0;background-position:center center;background-size:cover;line-height:0;font-size:0;color:transparent;}/*!sc*/ .gvBpbm img,.gvBpbm svg{display:block;width:100%;border:3px solid white;}/*!sc*/ data-styled.g107[id="RecommendedResourcesBlock__ResourceImage-sc-3eimjm-4"]{content:"gvBpbm,"}/*!sc*/ .iQtyKk{background:#e0e4e4;position:relative;z-index:10;border:2px solid #e0e4e4;}/*!sc*/ data-styled.g108[id="RecommendedResourcesBlock__ResourceImageInner-sc-3eimjm-5"]{content:"iQtyKk,"}/*!sc*/ .iBBKFF{-webkit-flex:1;-ms-flex:1;flex:1;}/*!sc*/ data-styled.g109[id="RecommendedResourcesBlock__ResourceContent-sc-3eimjm-6"]{content:"iBBKFF,"}/*!sc*/ .eQdAit{font-weight:800;font-size:0.7rem;text-align:center;margin-top:20px;}/*!sc*/ data-styled.g110[id="RecommendedResourcesBlock__Sponsoring-sc-3eimjm-7"]{content:"eQdAit,"}/*!sc*/ .dKEKtB{text-align:center;margin-top:10px;font-size:0.8rem;}/*!sc*/ data-styled.g111[id="RecommendedResourcesBlock__ResourceTeacher-sc-3eimjm-8"]{content:"dKEKtB,"}/*!sc*/ @media screen and (max-width:999px){.kTMCA-d{margin-bottom:40px;}}/*!sc*/ @media screen and (min-width:1000px){.kTMCA-d{font-size:1.1rem;margin-bottom:80px;}}/*!sc*/ data-styled.g112[id="PageIntroductionBlock__Introduction-l8rkyc-0"]{content:"kTMCA-d,"}/*!sc*/ .cYuaXP{margin-bottom:40px;}/*!sc*/ data-styled.g134[id="PicksBlock__PicksContainer-sc-1gvg25p-0"]{content:"cYuaXP,"}/*!sc*/ .cdOtqu{margin-bottom:80px;}/*!sc*/ data-styled.g135[id="PicksBlock__Pick-sc-1gvg25p-1"]{content:"cdOtqu,"}/*!sc*/ .cCluWS{position:relative;}/*!sc*/ data-styled.g136[id="PicksBlock__PickContentWrapper-sc-1gvg25p-2"]{content:"cCluWS,"}/*!sc*/ .bLKAGu{background:#FBFAE1;color:#222429;position:relative;margin-bottom:15px;}/*!sc*/ @media screen and (max-width:599px){.bLKAGu{padding:15px 20px 20px 20px;}}/*!sc*/ @media screen and (min-width:600px){.bLKAGu{padding:20px 30px 30px 30px;}}/*!sc*/ .bLKAGu:after{content:' ';-webkit-clip-path:polygon(0 0,100% 0,50% 100%);clip-path:polygon(0 0,100% 0,50% 100%);background:#FBFAE1;position:absolute;width:40px;height:20px;bottom:-20px;left:40px;}/*!sc*/ data-styled.g137[id="PicksBlock__PickContent-sc-1gvg25p-3"]{content:"bLKAGu,"}/*!sc*/ .lbqpCO{margin-bottom:10px;}/*!sc*/ data-styled.g138[id="PicksBlock__PickTitle-sc-1gvg25p-4"]{content:"lbqpCO,"}/*!sc*/ .cfLpek{font-size:0.9rem;}/*!sc*/ data-styled.g139[id="PicksBlock__Description-sc-1gvg25p-5"]{content:"cfLpek,"}/*!sc*/ .fDFspd{font-size:0.8rem;text-align:center;margin-bottom:10px;color:#cecdcc;}/*!sc*/ @media screen and (min-width:600px){.fDFspd{display:none;}}/*!sc*/ data-styled.g140[id="PicksBlock__PicksIntroMobile-sc-1gvg25p-6"]{content:"fDFspd,"}/*!sc*/ .dKNzCY{font-size:0.8rem;text-align:right;position:absolute;bottom:-30px;right:0;color:#cecdcc;}/*!sc*/ @media screen and (max-width:599px){.dKNzCY{display:none;}}/*!sc*/ data-styled.g141[id="PicksBlock__PicksIntro-sc-1gvg25p-7"]{content:"dKNzCY,"}/*!sc*/ .hvSaKz{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin-left:30px;}/*!sc*/ data-styled.g142[id="PicksBlock__PickPerson-sc-1gvg25p-8"]{content:"hvSaKz,"}/*!sc*/ .jDSoMn{margin-right:15px;width:60px;}/*!sc*/ .jDSoMn div{background:#5c6069;border:2px solid #5c6069;position:relative;z-index:10;overflow:hidden;border-radius:100%;}/*!sc*/ .jDSoMn a{display:block;width:100%;padding-bottom:100%;height:0;background-position:center center;background-size:cover;line-height:0;font-size:0;color:transparent;border-radius:100%;}/*!sc*/ .jDSoMn img,.jDSoMn svg{display:block;width:100%;border:3px solid white;}/*!sc*/ data-styled.g143[id="PicksBlock__PickImage-sc-1gvg25p-9"]{content:"jDSoMn,"}/*!sc*/ .bcsAFx{margin:0;}/*!sc*/ data-styled.g145[id="PicksBlock__PickName-sc-1gvg25p-11"]{content:"bcsAFx,"}/*!sc*/ .fahdyF{font-size:0.9rem;}/*!sc*/ data-styled.g146[id="PicksBlock__PickBio-sc-1gvg25p-12"]{content:"fahdyF,"}/*!sc*/ .hfkBgM{display:grid;grid-template-columns:auto 1fr;-webkit-column-gap:20px;column-gap:20px;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:20px;}/*!sc*/ data-styled.g183[id="FeatureExperienceBlock__Row-sc-1rrr2zp-0"]{content:"hfkBgM,"}/*!sc*/ .eBigms{margin:0;}/*!sc*/ data-styled.g184[id="FeatureExperienceBlock__RowYear-sc-1rrr2zp-1"]{content:"eBigms,"}/*!sc*/ @-webkit-keyframes cARFhl{0%{opacity:0;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);}100%{opacity:1;-webkit-transform:translateX(-50%) translateY(-275%);-ms-transform:translateX(-50%) translateY(-275%);transform:translateX(-50%) translateY(-275%);}}/*!sc*/ @keyframes cARFhl{0%{opacity:0;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);}100%{opacity:1;-webkit-transform:translateX(-50%) translateY(-275%);-ms-transform:translateX(-50%) translateY(-275%);transform:translateX(-50%) translateY(-275%);}}/*!sc*/ data-styled.g219[id="sc-keyframes-cARFhl"]{content:"cARFhl,"}/*!sc*/ @-webkit-keyframes bPXDEJ{0%{opacity:0;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0);}100%{opacity:1;-webkit-transform:translateX(20%);-ms-transform:translateX(20%);transform:translateX(20%);}}/*!sc*/ @keyframes bPXDEJ{0%{opacity:0;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0);}100%{opacity:1;-webkit-transform:translateX(20%);-ms-transform:translateX(20%);transform:translateX(20%);}}/*!sc*/ data-styled.g220[id="sc-keyframes-bPXDEJ"]{content:"bPXDEJ,"}/*!sc*/ @-webkit-keyframes ljWKCc{0%{opacity:0;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);}100%{opacity:1;-webkit-transform:translateX(-200%) translateY(-200%);-ms-transform:translateX(-200%) translateY(-200%);transform:translateX(-200%) translateY(-200%);}}/*!sc*/ @keyframes ljWKCc{0%{opacity:0;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);}100%{opacity:1;-webkit-transform:translateX(-200%) translateY(-200%);-ms-transform:translateX(-200%) translateY(-200%);transform:translateX(-200%) translateY(-200%);}}/*!sc*/ data-styled.g221[id="sc-keyframes-ljWKCc"]{content:"ljWKCc,"}/*!sc*/ @-webkit-keyframes cMBegx{0%{opacity:0;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0);}100%{opacity:1;-webkit-transform:translateX(60%);-ms-transform:translateX(60%);transform:translateX(60%);}}/*!sc*/ @keyframes cMBegx{0%{opacity:0;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0);}100%{opacity:1;-webkit-transform:translateX(60%);-ms-transform:translateX(60%);transform:translateX(60%);}}/*!sc*/ data-styled.g222[id="sc-keyframes-cMBegx"]{content:"cMBegx,"}/*!sc*/ @-webkit-keyframes kZHiaN{0%{opacity:0;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);}100%{opacity:1;-webkit-transform:translateX(-275%) translateY(-50%);-ms-transform:translateX(-275%) translateY(-50%);transform:translateX(-275%) translateY(-50%);}}/*!sc*/ @keyframes kZHiaN{0%{opacity:0;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);}100%{opacity:1;-webkit-transform:translateX(-275%) translateY(-50%);-ms-transform:translateX(-275%) translateY(-50%);transform:translateX(-275%) translateY(-50%);}}/*!sc*/ data-styled.g223[id="sc-keyframes-kZHiaN"]{content:"kZHiaN,"}/*!sc*/ @-webkit-keyframes fKEkIt{0%{opacity:0;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0);}100%{opacity:1;-webkit-transform:translateX(130%);-ms-transform:translateX(130%);transform:translateX(130%);}}/*!sc*/ @keyframes fKEkIt{0%{opacity:0;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0);}100%{opacity:1;-webkit-transform:translateX(130%);-ms-transform:translateX(130%);transform:translateX(130%);}}/*!sc*/ data-styled.g224[id="sc-keyframes-fKEkIt"]{content:"fKEkIt,"}/*!sc*/ @-webkit-keyframes ewHXmC{0%{opacity:0;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);}100%{opacity:1;-webkit-transform:translateX(-200%) translateY(100%);-ms-transform:translateX(-200%) translateY(100%);transform:translateX(-200%) translateY(100%);}}/*!sc*/ @keyframes ewHXmC{0%{opacity:0;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);}100%{opacity:1;-webkit-transform:translateX(-200%) translateY(100%);-ms-transform:translateX(-200%) translateY(100%);transform:translateX(-200%) translateY(100%);}}/*!sc*/ data-styled.g225[id="sc-keyframes-ewHXmC"]{content:"ewHXmC,"}/*!sc*/ @-webkit-keyframes kxSgkt{0%{opacity:0;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0);}100%{opacity:1;-webkit-transform:translateX(200%);-ms-transform:translateX(200%);transform:translateX(200%);}}/*!sc*/ @keyframes kxSgkt{0%{opacity:0;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0);}100%{opacity:1;-webkit-transform:translateX(200%);-ms-transform:translateX(200%);transform:translateX(200%);}}/*!sc*/ data-styled.g226[id="sc-keyframes-kxSgkt"]{content:"kxSgkt,"}/*!sc*/ @-webkit-keyframes ieWsjv{0%{opacity:0;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);}100%{opacity:1;-webkit-transform:translateX(-50%) translateY(175%);-ms-transform:translateX(-50%) translateY(175%);transform:translateX(-50%) translateY(175%);}}/*!sc*/ @keyframes ieWsjv{0%{opacity:0;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);}100%{opacity:1;-webkit-transform:translateX(-50%) translateY(175%);-ms-transform:translateX(-50%) translateY(175%);transform:translateX(-50%) translateY(175%);}}/*!sc*/ data-styled.g227[id="sc-keyframes-ieWsjv"]{content:"ieWsjv,"}/*!sc*/ @-webkit-keyframes bdkvTi{0%{opacity:0;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0);}100%{opacity:1;-webkit-transform:translateX(270%);-ms-transform:translateX(270%);transform:translateX(270%);}}/*!sc*/ @keyframes bdkvTi{0%{opacity:0;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0);}100%{opacity:1;-webkit-transform:translateX(270%);-ms-transform:translateX(270%);transform:translateX(270%);}}/*!sc*/ data-styled.g228[id="sc-keyframes-bdkvTi"]{content:"bdkvTi,"}/*!sc*/ </style><link as="script" rel="preload" href="/webpack-runtime-bacbb8227f7a3f462f8b.js"/><link as="script" rel="preload" href="/framework-4f6f4628cf10d856b9b4.js"/><link as="script" rel="preload" href="/7616da28-658a2ca7170fc512347f.js"/><link as="script" rel="preload" href="/app-eaa307f84b08943b892a.js"/><link as="script" rel="preload" href="/styles-407fe62976dc5310c43e.js"/><link as="script" rel="preload" href="/component---src-core-pages-page-template-js-2b78a8da8c7848bf20bb.js"/><link as="fetch" rel="preload" href="/page-data/en-US/features/browser-apis/page-data.json" crossorigin="anonymous"/><link as="fetch" rel="preload" href="/page-data/sq/d/216024313.json" crossorigin="anonymous"/><link as="fetch" rel="preload" href="/page-data/sq/d/216024313.json" crossorigin="anonymous"/><link as="fetch" rel="preload" href="/page-data/app-data.json" crossorigin="anonymous"/></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" id="gatsby-focus-wrapper"><div class="modKeyUp"><a href="#page-main" class="MainLayout__Skip-uwvjad-1 koUIH">[en-US] general.skip_to_content</a><div class="MainLayout__Page-uwvjad-5 dMDcdD Page--browser_apis nocapture"><div><button aria-haspopup="menu" aria-expanded="false" class="MainLayout__MenuToggle-uwvjad-3 gxaSHK"><span class="MainLayout__ScreenReadersHint-uwvjad-0 iMYawq">[en-US] general.open_nav</span><svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100" class="Hamburger__Container-j038hg-0 fIONJq"><g id="Outline_Icons"><line fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="8" x1="15" y1="25" x2="85" y2="25"></line><line fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="8" x1="15" y1="50" x2="85" y2="50"></line><line fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="8" x1="15" y1="75" x2="85" y2="75"></line></g></svg></button><nav id="sidebar" class="Sidebar__SidebarContainer-sc-1u4yidz-0 hHlUQl Sidebar"><button aria-haspopup="menu" aria-expanded="false" class="Sidebar__SidebarCloseButton-sc-1u4yidz-5 bpKdro"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"><line x1=".5" y1=".5" x2="23.5" y2="23.5"></line><line x1="23.5" y1=".5" x2=".5" y2="23.5"></line></g></svg><span class="Sidebar__ScreenReadersHint-sc-1u4yidz-2 kbZNhn">[en-US] general.close_nav</span></button><h1 class="Sidebar__SidebarScreenReadersTitle-sc-1u4yidz-1 eRTXyl">State of JS 2020</h1><div class="Sidebar__SidebarHeader-sc-1u4yidz-3 kWZfrr"><a class="Sidebar__SidebarLogoLink-sc-1u4yidz-4 dAEVjl" href="/en-US/"><span class="SidebarLogo__Container-qwaf9p-0 hZEPJH"><span class="LogoCell__Container-n9we24-0 edOkpG LogoCell" style="color:#e0e4e4"><span class="LogoCell__Index-n9we24-1 iWHLb">0</span>St</span><span class="LogoCell__Container-n9we24-0 edOkpG LogoCell" style="color:#e0e4e4"><span class="LogoCell__Index-n9we24-1 iWHLb">1</span>Js</span><span class="LogoCell__Container-n9we24-0 edOkpG LogoCell" style="color:#FE6A6A"><span class="LogoCell__Index-n9we24-1 iWHLb">2</span>20</span><span class="LogoCell__Container-n9we24-0 edOkpG LogoCell" style="color:#FE6A6A"><span class="LogoCell__Index-n9we24-1 iWHLb">3</span>20</span></span><span class="Sidebar__ScreenReadersHint-sc-1u4yidz-2 kbZNhn">[en-US] general.back_to_intro</span></a></div><div class="Nav__NavContainer-uo6ep0-1 iskZBJ"><div class="Nav__LanguageSwitcherWrapper-uo6ep0-2 bXJgCf"><div class="Popover__Container-sc-3zqg9-0 fxzssI Popover Popover--bottom _is-closed"><div class="Popover__PopoverInner-sc-3zqg9-1 iFJNkp PopoverInner"><button class="Popover__PopoverToggle-sc-3zqg9-2 hwouLV PopoverToggle" aria-label="English" aria-haspopup="menu" aria-expanded="false"><span>English</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 50"><polygon stroke="#000" points="0,0 100,0 50,50"></polygon></svg></button><div class="Popover__PopoverPopup-sc-3zqg9-3 edvQGu PopoverPopup" id="PopoverPopup"><div class="Locales__Container-sc-1lgl2z3-0 hfkwXz Locales"><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/ca-ES/features/browser-apis/">Català</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>81<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>81<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(81 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/cs-CZ/features/browser-apis/">Česky</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>46<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>46<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(46 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/de-DE/features/browser-apis/">Deutsch</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>60<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>60<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(60 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a aria-current="page" class="" href="/en-US/features/browser-apis/">English</a></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/es-ES/features/browser-apis/">Español</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>89<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>89<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(89 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/fa-IR/features/browser-apis/">فارسی</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>26<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>26<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(26 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/fr-FR/features/browser-apis/">Français</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>69<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>69<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(69 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/gl-ES/features/browser-apis/">Galego</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>89<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>89<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(89 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/hi-IN/features/browser-apis/">Hindi</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>4<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>4<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(4 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/it-IT/features/browser-apis/">Italiano</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>41<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>41<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(41 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/pt-PT/features/browser-apis/">Português</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>38<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>38<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(38 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/ru-RU/features/browser-apis/">Русский</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>93<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>93<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(93 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/ua-UA/features/browser-apis/">Українська</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>80<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>80<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(80 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/sv-SE/features/browser-apis/">Svenska</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>38<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>38<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(38 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/tr-TR/features/browser-apis/">Türkçe</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>66<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>66<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(66 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/id-ID/features/browser-apis/">Indonesia</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>41<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>41<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(41 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/zh-Hans/features/browser-apis/">简体中文</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>85<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>85<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(85 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/zh-Hant/features/browser-apis/">正體中文</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>64<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>64<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(64 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/ja-JP/features/browser-apis/">日本語</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>77<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>77<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(77 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/pl-PL/features/browser-apis/">Polski</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>78<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>78<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(78 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/ko-KR/features/browser-apis/">한국어</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>86<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>86<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(86 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/nl-NL/features/browser-apis/">Nederlands</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>80<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>80<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(80 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/ro-RO/features/browser-apis/">Română</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>84<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>84<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(84 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span></div><div class="LanguageSwitcher__LanguageSwitcherHelp-sc-1dnlai8-0 khubsu LanguageSwitcherHelp"><a href="https://github.com/StateOfJS/state-of-js-graphql-results-api/issues/50"><span data-key="general.help_us_translate" class="t">Help us translate the surveys »</span></a></div></div></div></div></div><a class="Nav__StyledPageLink-uo6ep0-0 gTZSEw" href="/en-US/"><span><span data-key="sections.introduction.title" class="t">Introduction</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 gTZSEw" href="/en-US/tshirt/"><span><span data-key="sections.tshirt.title" class="t">T-shirt</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 gTZSEw" href="/en-US/demographics/"><span><span data-key="sections.demographics.title" class="t">Demographics</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 gTZSEw" href="/en-US/features/"><span><span data-key="sections.features.title" class="t">Features</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 gbRils" href="/en-US/features/syntax/"><span><span data-key="sections.syntax.title" class="t">Syntax</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 gbRils" href="/en-US/features/language/"><span><span data-key="sections.language.title" class="t">Language</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 gbRils" href="/en-US/features/data-structures/"><span><span data-key="sections.data_structures.title" class="t">Data Structures</span></span></a><a aria-current="page" class="Nav__StyledPageLink-uo6ep0-0 gbRils _is-active" href="/en-US/features/browser-apis/"><span><span data-key="sections.browser_apis.title" class="t">Browser APIs</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 gbRils" href="/en-US/features/other-features/"><span><span data-key="sections.other_features.title" class="t">Other Features</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 gTZSEw" href="/en-US/technologies/"><span><span data-key="sections.technologies.title" class="t">Technologies</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 jJODYN" href="/en-US/technologies/javascript-flavors/"><span><span data-key="sections.javascript_flavors.title" class="t">JavaScript Flavors</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 jJODYN" href="/en-US/technologies/front-end-frameworks/"><span><span data-key="sections.front_end_frameworks.title" class="t">Front-end Frameworks</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 jJODYN" href="/en-US/technologies/datalayer/"><span><span data-key="sections.datalayer.title" class="t">Data Layer</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 jJODYN" href="/en-US/technologies/back-end-frameworks/"><span><span data-key="sections.back_end_frameworks.title" class="t">Back-end Frameworks</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 jJODYN" href="/en-US/technologies/testing/"><span><span data-key="sections.testing.title" class="t">Testing</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 jJODYN" href="/en-US/technologies/build-tools/"><span><span data-key="sections.build_tools.title" class="t">Build Tools</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 jJODYN" href="/en-US/technologies/mobile-desktop/"><span><span data-key="sections.mobile_desktop.title" class="t">Mobile & Desktop</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 gTZSEw" href="/en-US/other-tools/"><span><span data-key="sections.tools_others.title" class="t">Other Tools</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 gTZSEw" href="/en-US/resources/"><span><span data-key="sections.resources.title" class="t">Resources</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 gTZSEw" href="/en-US/opinions/"><span><span data-key="sections.opinions.title" class="t">Opinions</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 gTZSEw" href="/en-US/awards/"><span><span data-key="sections.awards.title" class="t">Awards</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 gTZSEw" href="/en-US/conclusion/"><span><span data-key="sections.conclusion.title" class="t">Conclusion</span></span></a></div><div class="ShareSite__Container-ayv7ct-0 jxqLoD ShareSite"><a href="https://twitter.com/intent/tweet/?text=Discover%20the%20State%20of%20JS%202020%20results%20https%3A%2F%2F2020.stateofjs.com%20%23StateOfJS" target="_blank" rel="noopener noreferrer" aria-label="Share on Twitter" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--twitter"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M23.444,4.834c-0.814,0.363-1.5,0.375-2.228,0.016c0.938-0.562,0.981-0.957,1.32-2.019c-0.878,0.521-1.851,0.9-2.886,1.104 C18.823,3.053,17.642,2.5,16.335,2.5c-2.51,0-4.544,2.036-4.544,4.544c0,0.356,0.04,0.703,0.117,1.036 C8.132,7.891,4.783,6.082,2.542,3.332C2.151,4.003,1.927,4.784,1.927,5.617c0,1.577,0.803,2.967,2.021,3.782 C3.203,9.375,2.503,9.171,1.891,8.831C1.89,8.85,1.89,8.868,1.89,8.888c0,2.202,1.566,4.038,3.646,4.456 c-0.666,0.181-1.368,0.209-2.053,0.079c0.579,1.804,2.257,3.118,4.245,3.155C5.783,18.102,3.372,18.737,1,18.459 C3.012,19.748,5.399,20.5,7.966,20.5c8.358,0,12.928-6.924,12.928-12.929c0-0.198-0.003-0.393-0.012-0.588 C21.769,6.343,22.835,5.746,23.444,4.834z"></path></svg><span class="sr-only">Share on Twitter</span></a><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2F2020.stateofjs.com" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--facebook"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M18.768,7.465H14.5V5.56c0-0.896,0.594-1.105,1.012-1.105s2.988,0,2.988,0V0.513L14.171,0.5C10.244,0.5,9.5,3.438,9.5,5.32 v2.145h-3v4h3c0,5.212,0,12,0,12h5c0,0,0-6.85,0-12h3.851L18.768,7.465z"></path></svg><span class="sr-only">Share on Facebook</span></a><a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2F2020.stateofjs.com&title=Discover the State of JS 2020 results&summary=" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--linkedin"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path></svg><span class="sr-only">Share on LinkedIn</span></a><a href="mailto:?subject=State%20of%20JS%202020%20Survey%20Results&body=Here%20are%20some%20interesting%20survey%20results%3A%20https%3A%2F%2F2020.stateofjs.com" target="_self" aria-label="Share by email" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--email"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M22,4H2C0.897,4,0,4.897,0,6v12c0,1.103,0.897,2,2,2h20c1.103,0,2-0.897,2-2V6C24,4.897,23.103,4,22,4z M7.248,14.434 l-3.5,2C3.67,16.479,3.584,16.5,3.5,16.5c-0.174,0-0.342-0.09-0.435-0.252c-0.137-0.239-0.054-0.545,0.186-0.682l3.5-2 c0.24-0.137,0.545-0.054,0.682,0.186C7.571,13.992,7.488,14.297,7.248,14.434z M12,14.5c-0.094,0-0.189-0.026-0.271-0.08l-8.5-5.5 C2.997,8.77,2.93,8.46,3.081,8.229c0.15-0.23,0.459-0.298,0.691-0.147L12,13.405l8.229-5.324c0.232-0.15,0.542-0.084,0.691,0.147 c0.15,0.232,0.083,0.542-0.148,0.691l-8.5,5.5C12.189,14.474,12.095,14.5,12,14.5z M20.934,16.248 C20.842,16.41,20.673,16.5,20.5,16.5c-0.084,0-0.169-0.021-0.248-0.065l-3.5-2c-0.24-0.137-0.323-0.442-0.186-0.682 s0.443-0.322,0.682-0.186l3.5,2C20.988,15.703,21.071,16.009,20.934,16.248z"></path></svg><span class="sr-only">Share by email</span></a></div></nav></div><div class="MainLayout__PageContent-uwvjad-4 kngwcV PageContent"><div class="MainLayout__PaginationWrapper-uwvjad-2 hQFQAx"><div class="Pagination__Container-fmwu6l-0 eyWRuW Pagination"><a class="PaginationLink__StyledLink-sc-15wpe8c-0 isboRP pagination__link pagination__previous" href="/en-US/features/data-structures/"><span><span>« <!-- -->Data Structures</span></span></a><div class="Pagination__MiddleContent-fmwu6l-1 iZEAbN"><div class="Popover__Container-sc-3zqg9-0 fxzssI Popover Popover--bottom _is-closed"><div class="Popover__PopoverInner-sc-3zqg9-1 iFJNkp PopoverInner"><button class="Popover__PopoverToggle-sc-3zqg9-2 hwouLV PopoverToggle" aria-label="English" aria-haspopup="menu" aria-expanded="false"><span>English</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 50"><polygon stroke="#000" points="0,0 100,0 50,50"></polygon></svg></button><div class="Popover__PopoverPopup-sc-3zqg9-3 edvQGu PopoverPopup" id="PopoverPopup"><div class="Locales__Container-sc-1lgl2z3-0 hfkwXz Locales"><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/ca-ES/features/browser-apis/">Català</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>81<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>81<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(81 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/cs-CZ/features/browser-apis/">Česky</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>46<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>46<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(46 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/de-DE/features/browser-apis/">Deutsch</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>60<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>60<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(60 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a aria-current="page" class="" href="/en-US/features/browser-apis/">English</a></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/es-ES/features/browser-apis/">Español</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>89<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>89<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(89 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/fa-IR/features/browser-apis/">فارسی</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>26<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>26<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(26 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/fr-FR/features/browser-apis/">Français</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>69<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>69<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(69 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/gl-ES/features/browser-apis/">Galego</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>89<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>89<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(89 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/hi-IN/features/browser-apis/">Hindi</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>4<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>4<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(4 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/it-IT/features/browser-apis/">Italiano</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>41<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>41<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(41 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/pt-PT/features/browser-apis/">Português</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>38<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>38<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(38 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/ru-RU/features/browser-apis/">Русский</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>93<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>93<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(93 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/ua-UA/features/browser-apis/">Українська</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>80<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>80<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(80 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/sv-SE/features/browser-apis/">Svenska</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>38<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>38<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(38 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/tr-TR/features/browser-apis/">Türkçe</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>66<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>66<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(66 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/id-ID/features/browser-apis/">Indonesia</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>41<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>41<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(41 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/zh-Hans/features/browser-apis/">简体中文</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>85<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>85<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(85 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/zh-Hant/features/browser-apis/">正體中文</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>64<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>64<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(64 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/ja-JP/features/browser-apis/">日本語</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>77<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>77<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(77 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/pl-PL/features/browser-apis/">Polski</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>78<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>78<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(78 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/ko-KR/features/browser-apis/">한국어</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>86<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>86<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(86 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/nl-NL/features/browser-apis/">Nederlands</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>80<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>80<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(80 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/ro-RO/features/browser-apis/">Română</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>84<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>84<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(84 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span></div><div class="LanguageSwitcher__LanguageSwitcherHelp-sc-1dnlai8-0 khubsu LanguageSwitcherHelp"><a href="https://github.com/StateOfJS/state-of-js-graphql-results-api/issues/50"><span data-key="general.help_us_translate" class="t">Help us translate the surveys »</span></a></div></div></div></div></div><a class="PaginationLink__StyledLink-sc-15wpe8c-0 kyWIcc pagination__link pagination__next" href="/en-US/features/other-features/"><span><span>Other Features<!-- --> »</span></span></a></div></div><main id="page-main" class="MainLayout__PageMain-uwvjad-6 fpohRl"><h2 class="PageHeader__PageTitle-sc-1i3f46f-0 ctbAJh"><span data-key="sections.browser_apis.title" class="t">Browser APIs</span></h2><div class="Page__Contents"><div class="PageIntroductionBlock__Introduction-l8rkyc-0 kTMCA-d Page__Introduction"><div data-key="sections.browser_apis.description" class="t"><p>The features provided by the browser.</p></div></div><div id="service_workers" class="Block__Container-sc-11g8wz8-0 bglUIQ Block Block--service_workers"><div class="BlockTitle__StyledBlockTitle-nuxb31-2 dAAPyT Block__Title"><div class="BlockTitle__LeftPart-nuxb31-4 iCAAeX"><h3 class="BlockTitle__BlockTitleText-nuxb31-3 iivsMM BlockTitleText"><a class="SharePermalink__Link-ndc8lc-0 gJOVcJ SharePermalink share__link" href="https://2020.stateofjs.com/en-US/features/browser-apis/service_workers" target="_blank" rel="noopener noreferrer" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g id="Filled_Icons_1_"><g id="Filled_Icons"><path d="M14.474,10.232l-0.706-0.706C12.208,7.966,9.67,7.964,8.11,9.525l-4.597,4.597c-1.56,1.56-1.56,4.097,0,5.657 l0.707,0.706c0.756,0.757,1.76,1.173,2.829,1.173c1.068,0,2.072-0.417,2.827-1.172l2.173-2.171c0.391-0.391,0.391-1.024,0-1.414 c-0.391-0.392-1.023-0.392-1.414,0l-2.173,2.17c-0.755,0.756-2.071,0.757-2.828,0l-0.707-0.706c-0.779-0.781-0.779-2.049,0-2.829 l4.597-4.596c0.756-0.756,2.073-0.756,2.828,0l0.707,0.707c0.391,0.391,1.023,0.391,1.414,0 C14.864,11.256,14.864,10.623,14.474,10.232z"></path><path d="M20.486,4.221l-0.707-0.706c-0.756-0.757-1.76-1.173-2.829-1.173c-1.068,0-2.072,0.418-2.827,1.172L12.135,5.5 c-0.391,0.391-0.391,1.024,0,1.414c0.391,0.392,1.023,0.392,1.414,0l1.988-1.984c0.755-0.756,2.071-0.757,2.828,0l0.707,0.706 c0.779,0.78,0.779,2.049,0,2.829l-4.597,4.596c-0.756,0.756-2.073,0.756-2.828,0c-0.391-0.391-1.024-0.391-1.414,0 c-0.391,0.391-0.392,1.023-0.001,1.414c1.56,1.562,4.098,1.562,5.657,0.001l4.597-4.597C22.046,8.319,22.046,5.781,20.486,4.221z"></path></g></g><rect fill="none" width="24" height="24" id="Frames-24px"></rect></svg></a><a href="https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API">Service Workers</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bHsPNt CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>91.3<!-- -->%</strong> <span>(<!-- -->21703<!-- -->)</span></div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>91.3<!-- -->%</strong> <span>(<!-- -->21703<!-- -->)</span></div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 hNsnqo"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(91.3 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 cJwfmm"></circle></svg></div></h3><div class="Popover__Container-sc-3zqg9-0 fxzssI Popover Popover--bottom _is-closed"><div class="Popover__PopoverInner-sc-3zqg9-1 iFJNkp PopoverInner"><button aria-expanded="false" aria-haspopup="[object Object]" aria-controls="[object Object]" class="Button-tirokp-0 BlockTitle__MoreButton-nuxb31-1 jrlGls jDLsKE Button"><span class="BlockTitle__ScreenReadersHint-nuxb31-0 dbINfu">[en-US] general.more_actions</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" x="0" y="0" viewBox="0 0 24 24"><g><g fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"><circle cx="3" cy="12" r="2.5"></circle><circle cx="12" cy="12" r="2.5"></circle><circle cx="21" cy="12" r="2.5"></circle></g></g><path fill="none" d="M0 0H24V24H0z"></path></svg></button><div class="Popover__PopoverPopup-sc-3zqg9-3 edvQGu PopoverPopup" id="PopoverPopup"><div class="BlockTitle__PopoverContents-nuxb31-7 fNQoWU"><div class="BlockExport__ButtonWrapper-sc-1gwpler-2 hjHqeU BlockExport"><button class="Button-tirokp-0 BlockExport__ExportButton-sc-1gwpler-3 dwxRHq jOWEGs ExportButton Button ExportButton"><span data-key="export.export" class="t">Export</span></button></div><div class="ShareBlock__Container-awxqfs-0 eghido ShareBlock Block__Title__Share"><div class="ShareBlock__ButtonWrapper-awxqfs-1 cAwBhT"><button class="Button-tirokp-0 ShareBlock__ShareButton-awxqfs-2 dwxRHq ShareButton Button ShareButton" aria-haspopup="menu" aria-expanded="false"><span data-key="share.share" class="t">Share</span></button></div><div class="ShareBlock__Popup-awxqfs-4 hnxXLV ShareBlock__Popup"><a href="https://twitter.com/intent/tweet/?text=%23StateOfJS%202020%3A%20Service%20Workers%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fservice_workers" target="_blank" rel="noopener noreferrer" aria-label="Share on Twitter" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--twitter"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M23.444,4.834c-0.814,0.363-1.5,0.375-2.228,0.016c0.938-0.562,0.981-0.957,1.32-2.019c-0.878,0.521-1.851,0.9-2.886,1.104 C18.823,3.053,17.642,2.5,16.335,2.5c-2.51,0-4.544,2.036-4.544,4.544c0,0.356,0.04,0.703,0.117,1.036 C8.132,7.891,4.783,6.082,2.542,3.332C2.151,4.003,1.927,4.784,1.927,5.617c0,1.577,0.803,2.967,2.021,3.782 C3.203,9.375,2.503,9.171,1.891,8.831C1.89,8.85,1.89,8.868,1.89,8.888c0,2.202,1.566,4.038,3.646,4.456 c-0.666,0.181-1.368,0.209-2.053,0.079c0.579,1.804,2.257,3.118,4.245,3.155C5.783,18.102,3.372,18.737,1,18.459 C3.012,19.748,5.399,20.5,7.966,20.5c8.358,0,12.928-6.924,12.928-12.929c0-0.198-0.003-0.393-0.012-0.588 C21.769,6.343,22.835,5.746,23.444,4.834z"></path></svg><span class="sr-only">Share on Twitter</span></a><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fservice_workers" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--facebook"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M18.768,7.465H14.5V5.56c0-0.896,0.594-1.105,1.012-1.105s2.988,0,2.988,0V0.513L14.171,0.5C10.244,0.5,9.5,3.438,9.5,5.32 v2.145h-3v4h3c0,5.212,0,12,0,12h5c0,0,0-6.85,0-12h3.851L18.768,7.465z"></path></svg><span class="sr-only">Share on Facebook</span></a><a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fservice_workers&title=Service Workers&summary=" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--linkedin"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path></svg><span class="sr-only">Share on LinkedIn</span></a><a href="mailto:?subject=State%20of%20JS%202020%20Survey%20Results&body=Here%20are%20some%20interesting%20survey%20results%20(Service%20Workers)%3A%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fservice_workers" target="_self" aria-label="Share by email" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--email"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M22,4H2C0.897,4,0,4.897,0,6v12c0,1.103,0.897,2,2,2h20c1.103,0,2-0.897,2-2V6C24,4.897,23.103,4,22,4z M7.248,14.434 l-3.5,2C3.67,16.479,3.584,16.5,3.5,16.5c-0.174,0-0.342-0.09-0.435-0.252c-0.137-0.239-0.054-0.545,0.186-0.682l3.5-2 c0.24-0.137,0.545-0.054,0.682,0.186C7.571,13.992,7.488,14.297,7.248,14.434z M12,14.5c-0.094,0-0.189-0.026-0.271-0.08l-8.5-5.5 C2.997,8.77,2.93,8.46,3.081,8.229c0.15-0.23,0.459-0.298,0.691-0.147L12,13.405l8.229-5.324c0.232-0.15,0.542-0.084,0.691,0.147 c0.15,0.232,0.083,0.542-0.148,0.691l-8.5,5.5C12.189,14.474,12.095,14.5,12,14.5z M20.934,16.248 C20.842,16.41,20.673,16.5,20.5,16.5c-0.084,0-0.169-0.021-0.248-0.065l-3.5-2c-0.24-0.137-0.323-0.442-0.186-0.682 s0.443-0.322,0.682-0.186l3.5,2C20.988,15.703,21.071,16.009,20.934,16.248z"></path></svg><span class="sr-only">Share by email</span></a><a href="https://stateofx-images.netlify.app/captures/js2020/en-US/service_workers.png" target="_blank" rel="noopener noreferrer" aria-label="Get image" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--image"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M22.486,17.236l1.05-1.458c0.125-0.175,0.125-0.409,0-0.584l-1.049-1.459l1.049-1.458c0.125-0.175,0.125-0.41,0-0.584 l-1.049-1.455l1.049-1.457c0.126-0.174,0.125-0.41,0-0.585l-1.048-1.451l1.049-1.455c0.125-0.175,0.125-0.411,0-0.585 l-1.085-1.506l0.943-1.925c0.094-0.192,0.056-0.423-0.096-0.574c-0.15-0.151-0.381-0.189-0.573-0.096l-1.932,0.945L19.28,0.464 c-0.175-0.126-0.41-0.125-0.583,0l-1.461,1.05l-1.457-1.049c-0.175-0.126-0.41-0.126-0.584,0l-1.459,1.049l-1.457-1.049 c-0.174-0.126-0.41-0.126-0.585,0l-1.455,1.049L8.781,0.465c-0.174-0.126-0.41-0.126-0.585,0L6.745,1.513L5.29,0.465 c-0.175-0.126-0.411-0.126-0.584,0L3.198,1.549L1.273,0.606C1.084,0.514,0.852,0.551,0.7,0.702 c-0.151,0.15-0.19,0.382-0.096,0.573l0.945,1.932L0.464,4.72c-0.125,0.174-0.125,0.41,0,0.583l1.05,1.461l-1.05,1.457 c-0.125,0.174-0.125,0.409,0,0.584l1.049,1.46l-1.049,1.458c-0.125,0.174-0.125,0.41,0,0.584l1.049,1.455L0.464,15.22 c-0.126,0.174-0.125,0.411,0,0.585l1.048,1.452l-1.049,1.454c-0.125,0.175-0.125,0.41,0,0.585l1.085,1.506l-0.943,1.925 c-0.094,0.192-0.056,0.422,0.096,0.574c0.151,0.151,0.383,0.189,0.573,0.095l1.932-0.944l1.513,1.085 c0.174,0.125,0.409,0.125,0.583,0l1.461-1.051l1.457,1.05c0.174,0.126,0.409,0.126,0.584,0l1.459-1.049l1.457,1.049 c0.174,0.126,0.41,0.126,0.585,0l1.455-1.049l1.458,1.049c0.087,0.063,0.189,0.094,0.292,0.094c0.102,0,0.206-0.032,0.293-0.095 l1.451-1.048l1.456,1.049c0.175,0.126,0.411,0.126,0.584,0l1.507-1.084l1.925,0.942c0.192,0.094,0.424,0.056,0.575-0.098 c0.151-0.152,0.188-0.385,0.091-0.577l-0.94-1.865l1.088-1.583c0.119-0.174,0.117-0.404-0.006-0.575L22.486,17.236z M20,19.5 c0,0.276-0.224,0.5-0.5,0.5h-15C4.224,20,4,19.776,4,19.5v-15C4,4.224,4.224,4,4.5,4h15C19.776,4,20,4.224,20,4.5V19.5z"></path><path d="M17.983,17.371l-2.143-8c-0.056-0.208-0.238-0.357-0.453-0.37c-0.222-0.013-0.414,0.113-0.494,0.312l-2.061,5.125 l-1.911-1.569c-0.12-0.099-0.278-0.135-0.43-0.101c-0.151,0.035-0.278,0.14-0.342,0.28l-1.938,4.245 c-0.07,0.155-0.058,0.335,0.035,0.478C8.338,17.914,8.497,18,8.667,18H17.5c0.155,0,0.302-0.072,0.396-0.196 C17.991,17.682,18.023,17.521,17.983,17.371z"></path><circle cx="9" cy="9" r="2.5"></circle></svg><span class="sr-only">Get image</span></a></div></div><div class="BlockTitle__BlockChartControls-nuxb31-6 bcoAoM BlockChartControls"><div class="ButtonGroup-sc-1k32jr0-0 dRuaES"><button class="Button-tirokp-0 dwxRHq Button--selected Button Button--selected"><span data-key="chart_units.percentage" class="t">Percents</span></button><button class="Button-tirokp-0 dwxRHq Button--unselected Button Button--unselected"><span data-key="chart_units.count" class="t">Count</span></button></div></div></div></div></div></div><div class="BlockTitle__BlockTitleActionsWrapper-nuxb31-8 bzxYzw"><div class="BlockExport__ButtonWrapper-sc-1gwpler-2 hjHqeU BlockExport"><button class="Button-tirokp-0 BlockExport__ExportButton-sc-1gwpler-3 dwxRHq jOWEGs ExportButton Button ExportButton"><span data-key="export.export" class="t">Export</span></button></div><div class="ShareBlock__Container-awxqfs-0 eghido ShareBlock Block__Title__Share"><div class="ShareBlock__ButtonWrapper-awxqfs-1 cAwBhT"><button class="Button-tirokp-0 ShareBlock__ShareButton-awxqfs-2 dwxRHq ShareButton Button ShareButton" aria-haspopup="menu" aria-expanded="false"><span data-key="share.share" class="t">Share</span></button></div><div class="ShareBlock__Popup-awxqfs-4 hnxXLV ShareBlock__Popup"><a href="https://twitter.com/intent/tweet/?text=%23StateOfJS%202020%3A%20Service%20Workers%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fservice_workers" target="_blank" rel="noopener noreferrer" aria-label="Share on Twitter" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--twitter"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M23.444,4.834c-0.814,0.363-1.5,0.375-2.228,0.016c0.938-0.562,0.981-0.957,1.32-2.019c-0.878,0.521-1.851,0.9-2.886,1.104 C18.823,3.053,17.642,2.5,16.335,2.5c-2.51,0-4.544,2.036-4.544,4.544c0,0.356,0.04,0.703,0.117,1.036 C8.132,7.891,4.783,6.082,2.542,3.332C2.151,4.003,1.927,4.784,1.927,5.617c0,1.577,0.803,2.967,2.021,3.782 C3.203,9.375,2.503,9.171,1.891,8.831C1.89,8.85,1.89,8.868,1.89,8.888c0,2.202,1.566,4.038,3.646,4.456 c-0.666,0.181-1.368,0.209-2.053,0.079c0.579,1.804,2.257,3.118,4.245,3.155C5.783,18.102,3.372,18.737,1,18.459 C3.012,19.748,5.399,20.5,7.966,20.5c8.358,0,12.928-6.924,12.928-12.929c0-0.198-0.003-0.393-0.012-0.588 C21.769,6.343,22.835,5.746,23.444,4.834z"></path></svg><span class="sr-only">Share on Twitter</span></a><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fservice_workers" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--facebook"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M18.768,7.465H14.5V5.56c0-0.896,0.594-1.105,1.012-1.105s2.988,0,2.988,0V0.513L14.171,0.5C10.244,0.5,9.5,3.438,9.5,5.32 v2.145h-3v4h3c0,5.212,0,12,0,12h5c0,0,0-6.85,0-12h3.851L18.768,7.465z"></path></svg><span class="sr-only">Share on Facebook</span></a><a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fservice_workers&title=Service Workers&summary=" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--linkedin"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path></svg><span class="sr-only">Share on LinkedIn</span></a><a href="mailto:?subject=State%20of%20JS%202020%20Survey%20Results&body=Here%20are%20some%20interesting%20survey%20results%20(Service%20Workers)%3A%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fservice_workers" target="_self" aria-label="Share by email" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--email"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M22,4H2C0.897,4,0,4.897,0,6v12c0,1.103,0.897,2,2,2h20c1.103,0,2-0.897,2-2V6C24,4.897,23.103,4,22,4z M7.248,14.434 l-3.5,2C3.67,16.479,3.584,16.5,3.5,16.5c-0.174,0-0.342-0.09-0.435-0.252c-0.137-0.239-0.054-0.545,0.186-0.682l3.5-2 c0.24-0.137,0.545-0.054,0.682,0.186C7.571,13.992,7.488,14.297,7.248,14.434z M12,14.5c-0.094,0-0.189-0.026-0.271-0.08l-8.5-5.5 C2.997,8.77,2.93,8.46,3.081,8.229c0.15-0.23,0.459-0.298,0.691-0.147L12,13.405l8.229-5.324c0.232-0.15,0.542-0.084,0.691,0.147 c0.15,0.232,0.083,0.542-0.148,0.691l-8.5,5.5C12.189,14.474,12.095,14.5,12,14.5z M20.934,16.248 C20.842,16.41,20.673,16.5,20.5,16.5c-0.084,0-0.169-0.021-0.248-0.065l-3.5-2c-0.24-0.137-0.323-0.442-0.186-0.682 s0.443-0.322,0.682-0.186l3.5,2C20.988,15.703,21.071,16.009,20.934,16.248z"></path></svg><span class="sr-only">Share by email</span></a><a href="https://stateofx-images.netlify.app/captures/js2020/en-US/service_workers.png" target="_blank" rel="noopener noreferrer" aria-label="Get image" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--image"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M22.486,17.236l1.05-1.458c0.125-0.175,0.125-0.409,0-0.584l-1.049-1.459l1.049-1.458c0.125-0.175,0.125-0.41,0-0.584 l-1.049-1.455l1.049-1.457c0.126-0.174,0.125-0.41,0-0.585l-1.048-1.451l1.049-1.455c0.125-0.175,0.125-0.411,0-0.585 l-1.085-1.506l0.943-1.925c0.094-0.192,0.056-0.423-0.096-0.574c-0.15-0.151-0.381-0.189-0.573-0.096l-1.932,0.945L19.28,0.464 c-0.175-0.126-0.41-0.125-0.583,0l-1.461,1.05l-1.457-1.049c-0.175-0.126-0.41-0.126-0.584,0l-1.459,1.049l-1.457-1.049 c-0.174-0.126-0.41-0.126-0.585,0l-1.455,1.049L8.781,0.465c-0.174-0.126-0.41-0.126-0.585,0L6.745,1.513L5.29,0.465 c-0.175-0.126-0.411-0.126-0.584,0L3.198,1.549L1.273,0.606C1.084,0.514,0.852,0.551,0.7,0.702 c-0.151,0.15-0.19,0.382-0.096,0.573l0.945,1.932L0.464,4.72c-0.125,0.174-0.125,0.41,0,0.583l1.05,1.461l-1.05,1.457 c-0.125,0.174-0.125,0.409,0,0.584l1.049,1.46l-1.049,1.458c-0.125,0.174-0.125,0.41,0,0.584l1.049,1.455L0.464,15.22 c-0.126,0.174-0.125,0.411,0,0.585l1.048,1.452l-1.049,1.454c-0.125,0.175-0.125,0.41,0,0.585l1.085,1.506l-0.943,1.925 c-0.094,0.192-0.056,0.422,0.096,0.574c0.151,0.151,0.383,0.189,0.573,0.095l1.932-0.944l1.513,1.085 c0.174,0.125,0.409,0.125,0.583,0l1.461-1.051l1.457,1.05c0.174,0.126,0.409,0.126,0.584,0l1.459-1.049l1.457,1.049 c0.174,0.126,0.41,0.126,0.585,0l1.455-1.049l1.458,1.049c0.087,0.063,0.189,0.094,0.292,0.094c0.102,0,0.206-0.032,0.293-0.095 l1.451-1.048l1.456,1.049c0.175,0.126,0.411,0.126,0.584,0l1.507-1.084l1.925,0.942c0.192,0.094,0.424,0.056,0.575-0.098 c0.151-0.152,0.188-0.385,0.091-0.577l-0.94-1.865l1.088-1.583c0.119-0.174,0.117-0.404-0.006-0.575L22.486,17.236z M20,19.5 c0,0.276-0.224,0.5-0.5,0.5h-15C4.224,20,4,19.776,4,19.5v-15C4,4.224,4.224,4,4.5,4h15C19.776,4,20,4.224,20,4.5V19.5z"></path><path d="M17.983,17.371l-2.143-8c-0.056-0.208-0.238-0.357-0.453-0.37c-0.222-0.013-0.414,0.113-0.494,0.312l-2.061,5.125 l-1.911-1.569c-0.12-0.099-0.278-0.135-0.43-0.101c-0.151,0.035-0.278,0.14-0.342,0.28l-1.938,4.245 c-0.07,0.155-0.058,0.335,0.035,0.478C8.338,17.914,8.497,18,8.667,18H17.5c0.155,0,0.302-0.072,0.396-0.196 C17.991,17.682,18.023,17.521,17.983,17.371z"></path><circle cx="9" cy="9" r="2.5"></circle></svg><span class="sr-only">Get image</span></a></div></div></div></div><div class="BlockTitle__BlockTitleSwitcherWrapper-nuxb31-9 aNaBd"><div class="BlockTitle__BlockChartControls-nuxb31-6 bcoAoM BlockChartControls"><div class="ButtonGroup-sc-1k32jr0-0 dRuaES"><button class="Button-tirokp-0 dwxRHq Button--selected Button Button--selected"><span data-key="chart_units.percentage" class="t">Percents</span></button><button class="Button-tirokp-0 dwxRHq Button--unselected Button Button--unselected"><span data-key="chart_units.count" class="t">Count</span></button></div></div></div></div><div class="BlockTitle__Description-nuxb31-5 hmJkhL Block__Description"><span data-key="browser_apis.service_workers.description" class="t t-override">Service workers essentially act as proxy servers that sit between web applications, the browser, and the network (when available). They are intended, among other things, to enable the creation of effective offline experiences, intercept network requests and take appropriate action based on whether the network is available, and update assets residing on the server. They will also allow access to push notifications and background sync APIs.</span></div><div class="Block__Contents"><div class="FeatureExperienceBlock__Row-sc-1rrr2zp-0 hfkBgM"><h4 class="FeatureExperienceBlock__RowYear-sc-1rrr2zp-1 eBigms">2019</h4><div class="ChartContainer__ChartContainerOuter-edfgx0-0 cUpOwA ChartContainerOuter FeatureChart" style="height:40px"><div class="ChartContainer__Container-edfgx0-1 xUamw ChartContainer" style="height:40px"><div class="ChartContainer__ChartContainerInner-edfgx0-2 gpvRnu ChartContainerInner" style="height:40px"><div style="width:100%;height:100%"></div></div></div></div></div><div class="FeatureExperienceBlock__Row-sc-1rrr2zp-0 hfkBgM"><h4 class="FeatureExperienceBlock__RowYear-sc-1rrr2zp-1 eBigms">2020</h4><div class="ChartContainer__ChartContainerOuter-edfgx0-0 cUpOwA ChartContainerOuter FeatureChart" style="height:40px"><div class="ChartContainer__Container-edfgx0-1 xUamw ChartContainer" style="height:40px"><div class="ChartContainer__ChartContainerInner-edfgx0-2 gpvRnu ChartContainerInner" style="height:40px"><div style="width:100%;height:100%"></div></div></div></div></div></div><table class="BlockLegends__Container-x2sx8r-0 eZbJfN Block__Legends"><tbody class="BlockLegends__ContainerInner-x2sx8r-1 dxTlgm"><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#41c7c7" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Have used it</td></tr><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#1d7e7e" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Know about it</td></tr><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#cecdcc" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Never heard of it</td></tr></tbody></table></div><div id="local_storage" class="Block__Container-sc-11g8wz8-0 bglUIQ Block Block--local_storage"><div class="BlockTitle__StyledBlockTitle-nuxb31-2 dAAPyT Block__Title"><div class="BlockTitle__LeftPart-nuxb31-4 iCAAeX"><h3 class="BlockTitle__BlockTitleText-nuxb31-3 iivsMM BlockTitleText"><a class="SharePermalink__Link-ndc8lc-0 gJOVcJ SharePermalink share__link" href="https://2020.stateofjs.com/en-US/features/browser-apis/local_storage" target="_blank" rel="noopener noreferrer" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g id="Filled_Icons_1_"><g id="Filled_Icons"><path d="M14.474,10.232l-0.706-0.706C12.208,7.966,9.67,7.964,8.11,9.525l-4.597,4.597c-1.56,1.56-1.56,4.097,0,5.657 l0.707,0.706c0.756,0.757,1.76,1.173,2.829,1.173c1.068,0,2.072-0.417,2.827-1.172l2.173-2.171c0.391-0.391,0.391-1.024,0-1.414 c-0.391-0.392-1.023-0.392-1.414,0l-2.173,2.17c-0.755,0.756-2.071,0.757-2.828,0l-0.707-0.706c-0.779-0.781-0.779-2.049,0-2.829 l4.597-4.596c0.756-0.756,2.073-0.756,2.828,0l0.707,0.707c0.391,0.391,1.023,0.391,1.414,0 C14.864,11.256,14.864,10.623,14.474,10.232z"></path><path d="M20.486,4.221l-0.707-0.706c-0.756-0.757-1.76-1.173-2.829-1.173c-1.068,0-2.072,0.418-2.827,1.172L12.135,5.5 c-0.391,0.391-0.391,1.024,0,1.414c0.391,0.392,1.023,0.392,1.414,0l1.988-1.984c0.755-0.756,2.071-0.757,2.828,0l0.707,0.706 c0.779,0.78,0.779,2.049,0,2.829l-4.597,4.596c-0.756,0.756-2.073,0.756-2.828,0c-0.391-0.391-1.024-0.391-1.414,0 c-0.391,0.391-0.392,1.023-0.001,1.414c1.56,1.562,4.098,1.562,5.657,0.001l4.597-4.597C22.046,8.319,22.046,5.781,20.486,4.221z"></path></g></g><rect fill="none" width="24" height="24" id="Frames-24px"></rect></svg></a><a href="https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage">Local Storage</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bHsPNt CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>91.8<!-- -->%</strong> <span>(<!-- -->21813<!-- -->)</span></div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>91.8<!-- -->%</strong> <span>(<!-- -->21813<!-- -->)</span></div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 hNsnqo"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(91.8 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 cJwfmm"></circle></svg></div></h3><div class="Popover__Container-sc-3zqg9-0 fxzssI Popover Popover--bottom _is-closed"><div class="Popover__PopoverInner-sc-3zqg9-1 iFJNkp PopoverInner"><button aria-expanded="false" aria-haspopup="[object Object]" aria-controls="[object Object]" class="Button-tirokp-0 BlockTitle__MoreButton-nuxb31-1 jrlGls jDLsKE Button"><span class="BlockTitle__ScreenReadersHint-nuxb31-0 dbINfu">[en-US] general.more_actions</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" x="0" y="0" viewBox="0 0 24 24"><g><g fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"><circle cx="3" cy="12" r="2.5"></circle><circle cx="12" cy="12" r="2.5"></circle><circle cx="21" cy="12" r="2.5"></circle></g></g><path fill="none" d="M0 0H24V24H0z"></path></svg></button><div class="Popover__PopoverPopup-sc-3zqg9-3 edvQGu PopoverPopup" id="PopoverPopup"><div class="BlockTitle__PopoverContents-nuxb31-7 fNQoWU"><div class="BlockExport__ButtonWrapper-sc-1gwpler-2 hjHqeU BlockExport"><button class="Button-tirokp-0 BlockExport__ExportButton-sc-1gwpler-3 dwxRHq jOWEGs ExportButton Button ExportButton"><span data-key="export.export" class="t">Export</span></button></div><div class="ShareBlock__Container-awxqfs-0 eghido ShareBlock Block__Title__Share"><div class="ShareBlock__ButtonWrapper-awxqfs-1 cAwBhT"><button class="Button-tirokp-0 ShareBlock__ShareButton-awxqfs-2 dwxRHq ShareButton Button ShareButton" aria-haspopup="menu" aria-expanded="false"><span data-key="share.share" class="t">Share</span></button></div><div class="ShareBlock__Popup-awxqfs-4 hnxXLV ShareBlock__Popup"><a href="https://twitter.com/intent/tweet/?text=%23StateOfJS%202020%3A%20Local%20Storage%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Flocal_storage" target="_blank" rel="noopener noreferrer" aria-label="Share on Twitter" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--twitter"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M23.444,4.834c-0.814,0.363-1.5,0.375-2.228,0.016c0.938-0.562,0.981-0.957,1.32-2.019c-0.878,0.521-1.851,0.9-2.886,1.104 C18.823,3.053,17.642,2.5,16.335,2.5c-2.51,0-4.544,2.036-4.544,4.544c0,0.356,0.04,0.703,0.117,1.036 C8.132,7.891,4.783,6.082,2.542,3.332C2.151,4.003,1.927,4.784,1.927,5.617c0,1.577,0.803,2.967,2.021,3.782 C3.203,9.375,2.503,9.171,1.891,8.831C1.89,8.85,1.89,8.868,1.89,8.888c0,2.202,1.566,4.038,3.646,4.456 c-0.666,0.181-1.368,0.209-2.053,0.079c0.579,1.804,2.257,3.118,4.245,3.155C5.783,18.102,3.372,18.737,1,18.459 C3.012,19.748,5.399,20.5,7.966,20.5c8.358,0,12.928-6.924,12.928-12.929c0-0.198-0.003-0.393-0.012-0.588 C21.769,6.343,22.835,5.746,23.444,4.834z"></path></svg><span class="sr-only">Share on Twitter</span></a><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Flocal_storage" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--facebook"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M18.768,7.465H14.5V5.56c0-0.896,0.594-1.105,1.012-1.105s2.988,0,2.988,0V0.513L14.171,0.5C10.244,0.5,9.5,3.438,9.5,5.32 v2.145h-3v4h3c0,5.212,0,12,0,12h5c0,0,0-6.85,0-12h3.851L18.768,7.465z"></path></svg><span class="sr-only">Share on Facebook</span></a><a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Flocal_storage&title=Local Storage&summary=" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--linkedin"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path></svg><span class="sr-only">Share on LinkedIn</span></a><a href="mailto:?subject=State%20of%20JS%202020%20Survey%20Results&body=Here%20are%20some%20interesting%20survey%20results%20(Local%20Storage)%3A%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Flocal_storage" target="_self" aria-label="Share by email" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--email"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M22,4H2C0.897,4,0,4.897,0,6v12c0,1.103,0.897,2,2,2h20c1.103,0,2-0.897,2-2V6C24,4.897,23.103,4,22,4z M7.248,14.434 l-3.5,2C3.67,16.479,3.584,16.5,3.5,16.5c-0.174,0-0.342-0.09-0.435-0.252c-0.137-0.239-0.054-0.545,0.186-0.682l3.5-2 c0.24-0.137,0.545-0.054,0.682,0.186C7.571,13.992,7.488,14.297,7.248,14.434z M12,14.5c-0.094,0-0.189-0.026-0.271-0.08l-8.5-5.5 C2.997,8.77,2.93,8.46,3.081,8.229c0.15-0.23,0.459-0.298,0.691-0.147L12,13.405l8.229-5.324c0.232-0.15,0.542-0.084,0.691,0.147 c0.15,0.232,0.083,0.542-0.148,0.691l-8.5,5.5C12.189,14.474,12.095,14.5,12,14.5z M20.934,16.248 C20.842,16.41,20.673,16.5,20.5,16.5c-0.084,0-0.169-0.021-0.248-0.065l-3.5-2c-0.24-0.137-0.323-0.442-0.186-0.682 s0.443-0.322,0.682-0.186l3.5,2C20.988,15.703,21.071,16.009,20.934,16.248z"></path></svg><span class="sr-only">Share by email</span></a><a href="https://stateofx-images.netlify.app/captures/js2020/en-US/local_storage.png" target="_blank" rel="noopener noreferrer" aria-label="Get image" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--image"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M22.486,17.236l1.05-1.458c0.125-0.175,0.125-0.409,0-0.584l-1.049-1.459l1.049-1.458c0.125-0.175,0.125-0.41,0-0.584 l-1.049-1.455l1.049-1.457c0.126-0.174,0.125-0.41,0-0.585l-1.048-1.451l1.049-1.455c0.125-0.175,0.125-0.411,0-0.585 l-1.085-1.506l0.943-1.925c0.094-0.192,0.056-0.423-0.096-0.574c-0.15-0.151-0.381-0.189-0.573-0.096l-1.932,0.945L19.28,0.464 c-0.175-0.126-0.41-0.125-0.583,0l-1.461,1.05l-1.457-1.049c-0.175-0.126-0.41-0.126-0.584,0l-1.459,1.049l-1.457-1.049 c-0.174-0.126-0.41-0.126-0.585,0l-1.455,1.049L8.781,0.465c-0.174-0.126-0.41-0.126-0.585,0L6.745,1.513L5.29,0.465 c-0.175-0.126-0.411-0.126-0.584,0L3.198,1.549L1.273,0.606C1.084,0.514,0.852,0.551,0.7,0.702 c-0.151,0.15-0.19,0.382-0.096,0.573l0.945,1.932L0.464,4.72c-0.125,0.174-0.125,0.41,0,0.583l1.05,1.461l-1.05,1.457 c-0.125,0.174-0.125,0.409,0,0.584l1.049,1.46l-1.049,1.458c-0.125,0.174-0.125,0.41,0,0.584l1.049,1.455L0.464,15.22 c-0.126,0.174-0.125,0.411,0,0.585l1.048,1.452l-1.049,1.454c-0.125,0.175-0.125,0.41,0,0.585l1.085,1.506l-0.943,1.925 c-0.094,0.192-0.056,0.422,0.096,0.574c0.151,0.151,0.383,0.189,0.573,0.095l1.932-0.944l1.513,1.085 c0.174,0.125,0.409,0.125,0.583,0l1.461-1.051l1.457,1.05c0.174,0.126,0.409,0.126,0.584,0l1.459-1.049l1.457,1.049 c0.174,0.126,0.41,0.126,0.585,0l1.455-1.049l1.458,1.049c0.087,0.063,0.189,0.094,0.292,0.094c0.102,0,0.206-0.032,0.293-0.095 l1.451-1.048l1.456,1.049c0.175,0.126,0.411,0.126,0.584,0l1.507-1.084l1.925,0.942c0.192,0.094,0.424,0.056,0.575-0.098 c0.151-0.152,0.188-0.385,0.091-0.577l-0.94-1.865l1.088-1.583c0.119-0.174,0.117-0.404-0.006-0.575L22.486,17.236z M20,19.5 c0,0.276-0.224,0.5-0.5,0.5h-15C4.224,20,4,19.776,4,19.5v-15C4,4.224,4.224,4,4.5,4h15C19.776,4,20,4.224,20,4.5V19.5z"></path><path d="M17.983,17.371l-2.143-8c-0.056-0.208-0.238-0.357-0.453-0.37c-0.222-0.013-0.414,0.113-0.494,0.312l-2.061,5.125 l-1.911-1.569c-0.12-0.099-0.278-0.135-0.43-0.101c-0.151,0.035-0.278,0.14-0.342,0.28l-1.938,4.245 c-0.07,0.155-0.058,0.335,0.035,0.478C8.338,17.914,8.497,18,8.667,18H17.5c0.155,0,0.302-0.072,0.396-0.196 C17.991,17.682,18.023,17.521,17.983,17.371z"></path><circle cx="9" cy="9" r="2.5"></circle></svg><span class="sr-only">Get image</span></a></div></div><div class="BlockTitle__BlockChartControls-nuxb31-6 bcoAoM BlockChartControls"><div class="ButtonGroup-sc-1k32jr0-0 dRuaES"><button class="Button-tirokp-0 dwxRHq Button--selected Button Button--selected"><span data-key="chart_units.percentage" class="t">Percents</span></button><button class="Button-tirokp-0 dwxRHq Button--unselected Button Button--unselected"><span data-key="chart_units.count" class="t">Count</span></button></div></div></div></div></div></div><div class="BlockTitle__BlockTitleActionsWrapper-nuxb31-8 bzxYzw"><div class="BlockExport__ButtonWrapper-sc-1gwpler-2 hjHqeU BlockExport"><button class="Button-tirokp-0 BlockExport__ExportButton-sc-1gwpler-3 dwxRHq jOWEGs ExportButton Button ExportButton"><span data-key="export.export" class="t">Export</span></button></div><div class="ShareBlock__Container-awxqfs-0 eghido ShareBlock Block__Title__Share"><div class="ShareBlock__ButtonWrapper-awxqfs-1 cAwBhT"><button class="Button-tirokp-0 ShareBlock__ShareButton-awxqfs-2 dwxRHq ShareButton Button ShareButton" aria-haspopup="menu" aria-expanded="false"><span data-key="share.share" class="t">Share</span></button></div><div class="ShareBlock__Popup-awxqfs-4 hnxXLV ShareBlock__Popup"><a href="https://twitter.com/intent/tweet/?text=%23StateOfJS%202020%3A%20Local%20Storage%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Flocal_storage" target="_blank" rel="noopener noreferrer" aria-label="Share on Twitter" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--twitter"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M23.444,4.834c-0.814,0.363-1.5,0.375-2.228,0.016c0.938-0.562,0.981-0.957,1.32-2.019c-0.878,0.521-1.851,0.9-2.886,1.104 C18.823,3.053,17.642,2.5,16.335,2.5c-2.51,0-4.544,2.036-4.544,4.544c0,0.356,0.04,0.703,0.117,1.036 C8.132,7.891,4.783,6.082,2.542,3.332C2.151,4.003,1.927,4.784,1.927,5.617c0,1.577,0.803,2.967,2.021,3.782 C3.203,9.375,2.503,9.171,1.891,8.831C1.89,8.85,1.89,8.868,1.89,8.888c0,2.202,1.566,4.038,3.646,4.456 c-0.666,0.181-1.368,0.209-2.053,0.079c0.579,1.804,2.257,3.118,4.245,3.155C5.783,18.102,3.372,18.737,1,18.459 C3.012,19.748,5.399,20.5,7.966,20.5c8.358,0,12.928-6.924,12.928-12.929c0-0.198-0.003-0.393-0.012-0.588 C21.769,6.343,22.835,5.746,23.444,4.834z"></path></svg><span class="sr-only">Share on Twitter</span></a><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Flocal_storage" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--facebook"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M18.768,7.465H14.5V5.56c0-0.896,0.594-1.105,1.012-1.105s2.988,0,2.988,0V0.513L14.171,0.5C10.244,0.5,9.5,3.438,9.5,5.32 v2.145h-3v4h3c0,5.212,0,12,0,12h5c0,0,0-6.85,0-12h3.851L18.768,7.465z"></path></svg><span class="sr-only">Share on Facebook</span></a><a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Flocal_storage&title=Local Storage&summary=" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--linkedin"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path></svg><span class="sr-only">Share on LinkedIn</span></a><a href="mailto:?subject=State%20of%20JS%202020%20Survey%20Results&body=Here%20are%20some%20interesting%20survey%20results%20(Local%20Storage)%3A%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Flocal_storage" target="_self" aria-label="Share by email" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--email"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M22,4H2C0.897,4,0,4.897,0,6v12c0,1.103,0.897,2,2,2h20c1.103,0,2-0.897,2-2V6C24,4.897,23.103,4,22,4z M7.248,14.434 l-3.5,2C3.67,16.479,3.584,16.5,3.5,16.5c-0.174,0-0.342-0.09-0.435-0.252c-0.137-0.239-0.054-0.545,0.186-0.682l3.5-2 c0.24-0.137,0.545-0.054,0.682,0.186C7.571,13.992,7.488,14.297,7.248,14.434z M12,14.5c-0.094,0-0.189-0.026-0.271-0.08l-8.5-5.5 C2.997,8.77,2.93,8.46,3.081,8.229c0.15-0.23,0.459-0.298,0.691-0.147L12,13.405l8.229-5.324c0.232-0.15,0.542-0.084,0.691,0.147 c0.15,0.232,0.083,0.542-0.148,0.691l-8.5,5.5C12.189,14.474,12.095,14.5,12,14.5z M20.934,16.248 C20.842,16.41,20.673,16.5,20.5,16.5c-0.084,0-0.169-0.021-0.248-0.065l-3.5-2c-0.24-0.137-0.323-0.442-0.186-0.682 s0.443-0.322,0.682-0.186l3.5,2C20.988,15.703,21.071,16.009,20.934,16.248z"></path></svg><span class="sr-only">Share by email</span></a><a href="https://stateofx-images.netlify.app/captures/js2020/en-US/local_storage.png" target="_blank" rel="noopener noreferrer" aria-label="Get image" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--image"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M22.486,17.236l1.05-1.458c0.125-0.175,0.125-0.409,0-0.584l-1.049-1.459l1.049-1.458c0.125-0.175,0.125-0.41,0-0.584 l-1.049-1.455l1.049-1.457c0.126-0.174,0.125-0.41,0-0.585l-1.048-1.451l1.049-1.455c0.125-0.175,0.125-0.411,0-0.585 l-1.085-1.506l0.943-1.925c0.094-0.192,0.056-0.423-0.096-0.574c-0.15-0.151-0.381-0.189-0.573-0.096l-1.932,0.945L19.28,0.464 c-0.175-0.126-0.41-0.125-0.583,0l-1.461,1.05l-1.457-1.049c-0.175-0.126-0.41-0.126-0.584,0l-1.459,1.049l-1.457-1.049 c-0.174-0.126-0.41-0.126-0.585,0l-1.455,1.049L8.781,0.465c-0.174-0.126-0.41-0.126-0.585,0L6.745,1.513L5.29,0.465 c-0.175-0.126-0.411-0.126-0.584,0L3.198,1.549L1.273,0.606C1.084,0.514,0.852,0.551,0.7,0.702 c-0.151,0.15-0.19,0.382-0.096,0.573l0.945,1.932L0.464,4.72c-0.125,0.174-0.125,0.41,0,0.583l1.05,1.461l-1.05,1.457 c-0.125,0.174-0.125,0.409,0,0.584l1.049,1.46l-1.049,1.458c-0.125,0.174-0.125,0.41,0,0.584l1.049,1.455L0.464,15.22 c-0.126,0.174-0.125,0.411,0,0.585l1.048,1.452l-1.049,1.454c-0.125,0.175-0.125,0.41,0,0.585l1.085,1.506l-0.943,1.925 c-0.094,0.192-0.056,0.422,0.096,0.574c0.151,0.151,0.383,0.189,0.573,0.095l1.932-0.944l1.513,1.085 c0.174,0.125,0.409,0.125,0.583,0l1.461-1.051l1.457,1.05c0.174,0.126,0.409,0.126,0.584,0l1.459-1.049l1.457,1.049 c0.174,0.126,0.41,0.126,0.585,0l1.455-1.049l1.458,1.049c0.087,0.063,0.189,0.094,0.292,0.094c0.102,0,0.206-0.032,0.293-0.095 l1.451-1.048l1.456,1.049c0.175,0.126,0.411,0.126,0.584,0l1.507-1.084l1.925,0.942c0.192,0.094,0.424,0.056,0.575-0.098 c0.151-0.152,0.188-0.385,0.091-0.577l-0.94-1.865l1.088-1.583c0.119-0.174,0.117-0.404-0.006-0.575L22.486,17.236z M20,19.5 c0,0.276-0.224,0.5-0.5,0.5h-15C4.224,20,4,19.776,4,19.5v-15C4,4.224,4.224,4,4.5,4h15C19.776,4,20,4.224,20,4.5V19.5z"></path><path d="M17.983,17.371l-2.143-8c-0.056-0.208-0.238-0.357-0.453-0.37c-0.222-0.013-0.414,0.113-0.494,0.312l-2.061,5.125 l-1.911-1.569c-0.12-0.099-0.278-0.135-0.43-0.101c-0.151,0.035-0.278,0.14-0.342,0.28l-1.938,4.245 c-0.07,0.155-0.058,0.335,0.035,0.478C8.338,17.914,8.497,18,8.667,18H17.5c0.155,0,0.302-0.072,0.396-0.196 C17.991,17.682,18.023,17.521,17.983,17.371z"></path><circle cx="9" cy="9" r="2.5"></circle></svg><span class="sr-only">Get image</span></a></div></div></div></div><div class="BlockTitle__BlockTitleSwitcherWrapper-nuxb31-9 aNaBd"><div class="BlockTitle__BlockChartControls-nuxb31-6 bcoAoM BlockChartControls"><div class="ButtonGroup-sc-1k32jr0-0 dRuaES"><button class="Button-tirokp-0 dwxRHq Button--selected Button Button--selected"><span data-key="chart_units.percentage" class="t">Percents</span></button><button class="Button-tirokp-0 dwxRHq Button--unselected Button Button--unselected"><span data-key="chart_units.count" class="t">Count</span></button></div></div></div></div><div class="BlockTitle__Description-nuxb31-5 hmJkhL Block__Description"><span data-key="browser_apis.local_storage.description" class="t t-override">The localStorage read-only property of the window interface allows you to access a Storage object for the Document's origin; the stored data is saved across browser sessions.</span></div><div class="Block__Contents"><div class="FeatureExperienceBlock__Row-sc-1rrr2zp-0 hfkBgM"><h4 class="FeatureExperienceBlock__RowYear-sc-1rrr2zp-1 eBigms">2019</h4><div class="ChartContainer__ChartContainerOuter-edfgx0-0 cUpOwA ChartContainerOuter FeatureChart" style="height:40px"><div class="ChartContainer__Container-edfgx0-1 xUamw ChartContainer" style="height:40px"><div class="ChartContainer__ChartContainerInner-edfgx0-2 gpvRnu ChartContainerInner" style="height:40px"><div style="width:100%;height:100%"></div></div></div></div></div><div class="FeatureExperienceBlock__Row-sc-1rrr2zp-0 hfkBgM"><h4 class="FeatureExperienceBlock__RowYear-sc-1rrr2zp-1 eBigms">2020</h4><div class="ChartContainer__ChartContainerOuter-edfgx0-0 cUpOwA ChartContainerOuter FeatureChart" style="height:40px"><div class="ChartContainer__Container-edfgx0-1 xUamw ChartContainer" style="height:40px"><div class="ChartContainer__ChartContainerInner-edfgx0-2 gpvRnu ChartContainerInner" style="height:40px"><div style="width:100%;height:100%"></div></div></div></div></div></div><table class="BlockLegends__Container-x2sx8r-0 eZbJfN Block__Legends"><tbody class="BlockLegends__ContainerInner-x2sx8r-1 dxTlgm"><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#41c7c7" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Have used it</td></tr><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#1d7e7e" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Know about it</td></tr><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#cecdcc" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Never heard of it</td></tr></tbody></table></div><div id="intl" class="Block__Container-sc-11g8wz8-0 bglUIQ Block Block--intl"><div class="BlockTitle__StyledBlockTitle-nuxb31-2 dAAPyT Block__Title"><div class="BlockTitle__LeftPart-nuxb31-4 iCAAeX"><h3 class="BlockTitle__BlockTitleText-nuxb31-3 iivsMM BlockTitleText"><a class="SharePermalink__Link-ndc8lc-0 gJOVcJ SharePermalink share__link" href="https://2020.stateofjs.com/en-US/features/browser-apis/intl" target="_blank" rel="noopener noreferrer" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g id="Filled_Icons_1_"><g id="Filled_Icons"><path d="M14.474,10.232l-0.706-0.706C12.208,7.966,9.67,7.964,8.11,9.525l-4.597,4.597c-1.56,1.56-1.56,4.097,0,5.657 l0.707,0.706c0.756,0.757,1.76,1.173,2.829,1.173c1.068,0,2.072-0.417,2.827-1.172l2.173-2.171c0.391-0.391,0.391-1.024,0-1.414 c-0.391-0.392-1.023-0.392-1.414,0l-2.173,2.17c-0.755,0.756-2.071,0.757-2.828,0l-0.707-0.706c-0.779-0.781-0.779-2.049,0-2.829 l4.597-4.596c0.756-0.756,2.073-0.756,2.828,0l0.707,0.707c0.391,0.391,1.023,0.391,1.414,0 C14.864,11.256,14.864,10.623,14.474,10.232z"></path><path d="M20.486,4.221l-0.707-0.706c-0.756-0.757-1.76-1.173-2.829-1.173c-1.068,0-2.072,0.418-2.827,1.172L12.135,5.5 c-0.391,0.391-0.391,1.024,0,1.414c0.391,0.392,1.023,0.392,1.414,0l1.988-1.984c0.755-0.756,2.071-0.757,2.828,0l0.707,0.706 c0.779,0.78,0.779,2.049,0,2.829l-4.597,4.596c-0.756,0.756-2.073,0.756-2.828,0c-0.391-0.391-1.024-0.391-1.414,0 c-0.391,0.391-0.392,1.023-0.001,1.414c1.56,1.562,4.098,1.562,5.657,0.001l4.597-4.597C22.046,8.319,22.046,5.781,20.486,4.221z"></path></g></g><rect fill="none" width="24" height="24" id="Frames-24px"></rect></svg></a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl">Intl</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bHsPNt CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>91.8<!-- -->%</strong> <span>(<!-- -->21825<!-- -->)</span></div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>91.8<!-- -->%</strong> <span>(<!-- -->21825<!-- -->)</span></div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 hNsnqo"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(91.8 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 cJwfmm"></circle></svg></div></h3><div class="Popover__Container-sc-3zqg9-0 fxzssI Popover Popover--bottom _is-closed"><div class="Popover__PopoverInner-sc-3zqg9-1 iFJNkp PopoverInner"><button aria-expanded="false" aria-haspopup="[object Object]" aria-controls="[object Object]" class="Button-tirokp-0 BlockTitle__MoreButton-nuxb31-1 jrlGls jDLsKE Button"><span class="BlockTitle__ScreenReadersHint-nuxb31-0 dbINfu">[en-US] general.more_actions</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" x="0" y="0" viewBox="0 0 24 24"><g><g fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"><circle cx="3" cy="12" r="2.5"></circle><circle cx="12" cy="12" r="2.5"></circle><circle cx="21" cy="12" r="2.5"></circle></g></g><path fill="none" d="M0 0H24V24H0z"></path></svg></button><div class="Popover__PopoverPopup-sc-3zqg9-3 edvQGu PopoverPopup" id="PopoverPopup"><div class="BlockTitle__PopoverContents-nuxb31-7 fNQoWU"><div class="BlockExport__ButtonWrapper-sc-1gwpler-2 hjHqeU BlockExport"><button class="Button-tirokp-0 BlockExport__ExportButton-sc-1gwpler-3 dwxRHq jOWEGs ExportButton Button ExportButton"><span data-key="export.export" class="t">Export</span></button></div><div class="ShareBlock__Container-awxqfs-0 eghido ShareBlock Block__Title__Share"><div class="ShareBlock__ButtonWrapper-awxqfs-1 cAwBhT"><button class="Button-tirokp-0 ShareBlock__ShareButton-awxqfs-2 dwxRHq ShareButton Button ShareButton" aria-haspopup="menu" aria-expanded="false"><span data-key="share.share" class="t">Share</span></button></div><div class="ShareBlock__Popup-awxqfs-4 hnxXLV ShareBlock__Popup"><a href="https://twitter.com/intent/tweet/?text=%23StateOfJS%202020%3A%20Intl%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fintl" target="_blank" rel="noopener noreferrer" aria-label="Share on Twitter" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--twitter"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M23.444,4.834c-0.814,0.363-1.5,0.375-2.228,0.016c0.938-0.562,0.981-0.957,1.32-2.019c-0.878,0.521-1.851,0.9-2.886,1.104 C18.823,3.053,17.642,2.5,16.335,2.5c-2.51,0-4.544,2.036-4.544,4.544c0,0.356,0.04,0.703,0.117,1.036 C8.132,7.891,4.783,6.082,2.542,3.332C2.151,4.003,1.927,4.784,1.927,5.617c0,1.577,0.803,2.967,2.021,3.782 C3.203,9.375,2.503,9.171,1.891,8.831C1.89,8.85,1.89,8.868,1.89,8.888c0,2.202,1.566,4.038,3.646,4.456 c-0.666,0.181-1.368,0.209-2.053,0.079c0.579,1.804,2.257,3.118,4.245,3.155C5.783,18.102,3.372,18.737,1,18.459 C3.012,19.748,5.399,20.5,7.966,20.5c8.358,0,12.928-6.924,12.928-12.929c0-0.198-0.003-0.393-0.012-0.588 C21.769,6.343,22.835,5.746,23.444,4.834z"></path></svg><span class="sr-only">Share on Twitter</span></a><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fintl" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--facebook"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M18.768,7.465H14.5V5.56c0-0.896,0.594-1.105,1.012-1.105s2.988,0,2.988,0V0.513L14.171,0.5C10.244,0.5,9.5,3.438,9.5,5.32 v2.145h-3v4h3c0,5.212,0,12,0,12h5c0,0,0-6.85,0-12h3.851L18.768,7.465z"></path></svg><span class="sr-only">Share on Facebook</span></a><a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fintl&title=Intl&summary=" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--linkedin"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path></svg><span class="sr-only">Share on LinkedIn</span></a><a href="mailto:?subject=State%20of%20JS%202020%20Survey%20Results&body=Here%20are%20some%20interesting%20survey%20results%20(Intl)%3A%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fintl" target="_self" aria-label="Share by email" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--email"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M22,4H2C0.897,4,0,4.897,0,6v12c0,1.103,0.897,2,2,2h20c1.103,0,2-0.897,2-2V6C24,4.897,23.103,4,22,4z M7.248,14.434 l-3.5,2C3.67,16.479,3.584,16.5,3.5,16.5c-0.174,0-0.342-0.09-0.435-0.252c-0.137-0.239-0.054-0.545,0.186-0.682l3.5-2 c0.24-0.137,0.545-0.054,0.682,0.186C7.571,13.992,7.488,14.297,7.248,14.434z M12,14.5c-0.094,0-0.189-0.026-0.271-0.08l-8.5-5.5 C2.997,8.77,2.93,8.46,3.081,8.229c0.15-0.23,0.459-0.298,0.691-0.147L12,13.405l8.229-5.324c0.232-0.15,0.542-0.084,0.691,0.147 c0.15,0.232,0.083,0.542-0.148,0.691l-8.5,5.5C12.189,14.474,12.095,14.5,12,14.5z M20.934,16.248 C20.842,16.41,20.673,16.5,20.5,16.5c-0.084,0-0.169-0.021-0.248-0.065l-3.5-2c-0.24-0.137-0.323-0.442-0.186-0.682 s0.443-0.322,0.682-0.186l3.5,2C20.988,15.703,21.071,16.009,20.934,16.248z"></path></svg><span class="sr-only">Share by email</span></a><a href="https://stateofx-images.netlify.app/captures/js2020/en-US/intl.png" target="_blank" rel="noopener noreferrer" aria-label="Get image" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--image"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M22.486,17.236l1.05-1.458c0.125-0.175,0.125-0.409,0-0.584l-1.049-1.459l1.049-1.458c0.125-0.175,0.125-0.41,0-0.584 l-1.049-1.455l1.049-1.457c0.126-0.174,0.125-0.41,0-0.585l-1.048-1.451l1.049-1.455c0.125-0.175,0.125-0.411,0-0.585 l-1.085-1.506l0.943-1.925c0.094-0.192,0.056-0.423-0.096-0.574c-0.15-0.151-0.381-0.189-0.573-0.096l-1.932,0.945L19.28,0.464 c-0.175-0.126-0.41-0.125-0.583,0l-1.461,1.05l-1.457-1.049c-0.175-0.126-0.41-0.126-0.584,0l-1.459,1.049l-1.457-1.049 c-0.174-0.126-0.41-0.126-0.585,0l-1.455,1.049L8.781,0.465c-0.174-0.126-0.41-0.126-0.585,0L6.745,1.513L5.29,0.465 c-0.175-0.126-0.411-0.126-0.584,0L3.198,1.549L1.273,0.606C1.084,0.514,0.852,0.551,0.7,0.702 c-0.151,0.15-0.19,0.382-0.096,0.573l0.945,1.932L0.464,4.72c-0.125,0.174-0.125,0.41,0,0.583l1.05,1.461l-1.05,1.457 c-0.125,0.174-0.125,0.409,0,0.584l1.049,1.46l-1.049,1.458c-0.125,0.174-0.125,0.41,0,0.584l1.049,1.455L0.464,15.22 c-0.126,0.174-0.125,0.411,0,0.585l1.048,1.452l-1.049,1.454c-0.125,0.175-0.125,0.41,0,0.585l1.085,1.506l-0.943,1.925 c-0.094,0.192-0.056,0.422,0.096,0.574c0.151,0.151,0.383,0.189,0.573,0.095l1.932-0.944l1.513,1.085 c0.174,0.125,0.409,0.125,0.583,0l1.461-1.051l1.457,1.05c0.174,0.126,0.409,0.126,0.584,0l1.459-1.049l1.457,1.049 c0.174,0.126,0.41,0.126,0.585,0l1.455-1.049l1.458,1.049c0.087,0.063,0.189,0.094,0.292,0.094c0.102,0,0.206-0.032,0.293-0.095 l1.451-1.048l1.456,1.049c0.175,0.126,0.411,0.126,0.584,0l1.507-1.084l1.925,0.942c0.192,0.094,0.424,0.056,0.575-0.098 c0.151-0.152,0.188-0.385,0.091-0.577l-0.94-1.865l1.088-1.583c0.119-0.174,0.117-0.404-0.006-0.575L22.486,17.236z M20,19.5 c0,0.276-0.224,0.5-0.5,0.5h-15C4.224,20,4,19.776,4,19.5v-15C4,4.224,4.224,4,4.5,4h15C19.776,4,20,4.224,20,4.5V19.5z"></path><path d="M17.983,17.371l-2.143-8c-0.056-0.208-0.238-0.357-0.453-0.37c-0.222-0.013-0.414,0.113-0.494,0.312l-2.061,5.125 l-1.911-1.569c-0.12-0.099-0.278-0.135-0.43-0.101c-0.151,0.035-0.278,0.14-0.342,0.28l-1.938,4.245 c-0.07,0.155-0.058,0.335,0.035,0.478C8.338,17.914,8.497,18,8.667,18H17.5c0.155,0,0.302-0.072,0.396-0.196 C17.991,17.682,18.023,17.521,17.983,17.371z"></path><circle cx="9" cy="9" r="2.5"></circle></svg><span class="sr-only">Get image</span></a></div></div><div class="BlockTitle__BlockChartControls-nuxb31-6 bcoAoM BlockChartControls"><div class="ButtonGroup-sc-1k32jr0-0 dRuaES"><button class="Button-tirokp-0 dwxRHq Button--selected Button Button--selected"><span data-key="chart_units.percentage" class="t">Percents</span></button><button class="Button-tirokp-0 dwxRHq Button--unselected Button Button--unselected"><span data-key="chart_units.count" class="t">Count</span></button></div></div></div></div></div></div><div class="BlockTitle__BlockTitleActionsWrapper-nuxb31-8 bzxYzw"><div class="BlockExport__ButtonWrapper-sc-1gwpler-2 hjHqeU BlockExport"><button class="Button-tirokp-0 BlockExport__ExportButton-sc-1gwpler-3 dwxRHq jOWEGs ExportButton Button ExportButton"><span data-key="export.export" class="t">Export</span></button></div><div class="ShareBlock__Container-awxqfs-0 eghido ShareBlock Block__Title__Share"><div class="ShareBlock__ButtonWrapper-awxqfs-1 cAwBhT"><button class="Button-tirokp-0 ShareBlock__ShareButton-awxqfs-2 dwxRHq ShareButton Button ShareButton" aria-haspopup="menu" aria-expanded="false"><span data-key="share.share" class="t">Share</span></button></div><div class="ShareBlock__Popup-awxqfs-4 hnxXLV ShareBlock__Popup"><a href="https://twitter.com/intent/tweet/?text=%23StateOfJS%202020%3A%20Intl%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fintl" target="_blank" rel="noopener noreferrer" aria-label="Share on Twitter" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--twitter"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M23.444,4.834c-0.814,0.363-1.5,0.375-2.228,0.016c0.938-0.562,0.981-0.957,1.32-2.019c-0.878,0.521-1.851,0.9-2.886,1.104 C18.823,3.053,17.642,2.5,16.335,2.5c-2.51,0-4.544,2.036-4.544,4.544c0,0.356,0.04,0.703,0.117,1.036 C8.132,7.891,4.783,6.082,2.542,3.332C2.151,4.003,1.927,4.784,1.927,5.617c0,1.577,0.803,2.967,2.021,3.782 C3.203,9.375,2.503,9.171,1.891,8.831C1.89,8.85,1.89,8.868,1.89,8.888c0,2.202,1.566,4.038,3.646,4.456 c-0.666,0.181-1.368,0.209-2.053,0.079c0.579,1.804,2.257,3.118,4.245,3.155C5.783,18.102,3.372,18.737,1,18.459 C3.012,19.748,5.399,20.5,7.966,20.5c8.358,0,12.928-6.924,12.928-12.929c0-0.198-0.003-0.393-0.012-0.588 C21.769,6.343,22.835,5.746,23.444,4.834z"></path></svg><span class="sr-only">Share on Twitter</span></a><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fintl" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--facebook"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M18.768,7.465H14.5V5.56c0-0.896,0.594-1.105,1.012-1.105s2.988,0,2.988,0V0.513L14.171,0.5C10.244,0.5,9.5,3.438,9.5,5.32 v2.145h-3v4h3c0,5.212,0,12,0,12h5c0,0,0-6.85,0-12h3.851L18.768,7.465z"></path></svg><span class="sr-only">Share on Facebook</span></a><a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fintl&title=Intl&summary=" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--linkedin"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path></svg><span class="sr-only">Share on LinkedIn</span></a><a href="mailto:?subject=State%20of%20JS%202020%20Survey%20Results&body=Here%20are%20some%20interesting%20survey%20results%20(Intl)%3A%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fintl" target="_self" aria-label="Share by email" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--email"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M22,4H2C0.897,4,0,4.897,0,6v12c0,1.103,0.897,2,2,2h20c1.103,0,2-0.897,2-2V6C24,4.897,23.103,4,22,4z M7.248,14.434 l-3.5,2C3.67,16.479,3.584,16.5,3.5,16.5c-0.174,0-0.342-0.09-0.435-0.252c-0.137-0.239-0.054-0.545,0.186-0.682l3.5-2 c0.24-0.137,0.545-0.054,0.682,0.186C7.571,13.992,7.488,14.297,7.248,14.434z M12,14.5c-0.094,0-0.189-0.026-0.271-0.08l-8.5-5.5 C2.997,8.77,2.93,8.46,3.081,8.229c0.15-0.23,0.459-0.298,0.691-0.147L12,13.405l8.229-5.324c0.232-0.15,0.542-0.084,0.691,0.147 c0.15,0.232,0.083,0.542-0.148,0.691l-8.5,5.5C12.189,14.474,12.095,14.5,12,14.5z M20.934,16.248 C20.842,16.41,20.673,16.5,20.5,16.5c-0.084,0-0.169-0.021-0.248-0.065l-3.5-2c-0.24-0.137-0.323-0.442-0.186-0.682 s0.443-0.322,0.682-0.186l3.5,2C20.988,15.703,21.071,16.009,20.934,16.248z"></path></svg><span class="sr-only">Share by email</span></a><a href="https://stateofx-images.netlify.app/captures/js2020/en-US/intl.png" target="_blank" rel="noopener noreferrer" aria-label="Get image" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--image"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M22.486,17.236l1.05-1.458c0.125-0.175,0.125-0.409,0-0.584l-1.049-1.459l1.049-1.458c0.125-0.175,0.125-0.41,0-0.584 l-1.049-1.455l1.049-1.457c0.126-0.174,0.125-0.41,0-0.585l-1.048-1.451l1.049-1.455c0.125-0.175,0.125-0.411,0-0.585 l-1.085-1.506l0.943-1.925c0.094-0.192,0.056-0.423-0.096-0.574c-0.15-0.151-0.381-0.189-0.573-0.096l-1.932,0.945L19.28,0.464 c-0.175-0.126-0.41-0.125-0.583,0l-1.461,1.05l-1.457-1.049c-0.175-0.126-0.41-0.126-0.584,0l-1.459,1.049l-1.457-1.049 c-0.174-0.126-0.41-0.126-0.585,0l-1.455,1.049L8.781,0.465c-0.174-0.126-0.41-0.126-0.585,0L6.745,1.513L5.29,0.465 c-0.175-0.126-0.411-0.126-0.584,0L3.198,1.549L1.273,0.606C1.084,0.514,0.852,0.551,0.7,0.702 c-0.151,0.15-0.19,0.382-0.096,0.573l0.945,1.932L0.464,4.72c-0.125,0.174-0.125,0.41,0,0.583l1.05,1.461l-1.05,1.457 c-0.125,0.174-0.125,0.409,0,0.584l1.049,1.46l-1.049,1.458c-0.125,0.174-0.125,0.41,0,0.584l1.049,1.455L0.464,15.22 c-0.126,0.174-0.125,0.411,0,0.585l1.048,1.452l-1.049,1.454c-0.125,0.175-0.125,0.41,0,0.585l1.085,1.506l-0.943,1.925 c-0.094,0.192-0.056,0.422,0.096,0.574c0.151,0.151,0.383,0.189,0.573,0.095l1.932-0.944l1.513,1.085 c0.174,0.125,0.409,0.125,0.583,0l1.461-1.051l1.457,1.05c0.174,0.126,0.409,0.126,0.584,0l1.459-1.049l1.457,1.049 c0.174,0.126,0.41,0.126,0.585,0l1.455-1.049l1.458,1.049c0.087,0.063,0.189,0.094,0.292,0.094c0.102,0,0.206-0.032,0.293-0.095 l1.451-1.048l1.456,1.049c0.175,0.126,0.411,0.126,0.584,0l1.507-1.084l1.925,0.942c0.192,0.094,0.424,0.056,0.575-0.098 c0.151-0.152,0.188-0.385,0.091-0.577l-0.94-1.865l1.088-1.583c0.119-0.174,0.117-0.404-0.006-0.575L22.486,17.236z M20,19.5 c0,0.276-0.224,0.5-0.5,0.5h-15C4.224,20,4,19.776,4,19.5v-15C4,4.224,4.224,4,4.5,4h15C19.776,4,20,4.224,20,4.5V19.5z"></path><path d="M17.983,17.371l-2.143-8c-0.056-0.208-0.238-0.357-0.453-0.37c-0.222-0.013-0.414,0.113-0.494,0.312l-2.061,5.125 l-1.911-1.569c-0.12-0.099-0.278-0.135-0.43-0.101c-0.151,0.035-0.278,0.14-0.342,0.28l-1.938,4.245 c-0.07,0.155-0.058,0.335,0.035,0.478C8.338,17.914,8.497,18,8.667,18H17.5c0.155,0,0.302-0.072,0.396-0.196 C17.991,17.682,18.023,17.521,17.983,17.371z"></path><circle cx="9" cy="9" r="2.5"></circle></svg><span class="sr-only">Get image</span></a></div></div></div></div><div class="BlockTitle__BlockTitleSwitcherWrapper-nuxb31-9 aNaBd"><div class="BlockTitle__BlockChartControls-nuxb31-6 bcoAoM BlockChartControls"><div class="ButtonGroup-sc-1k32jr0-0 dRuaES"><button class="Button-tirokp-0 dwxRHq Button--selected Button Button--selected"><span data-key="chart_units.percentage" class="t">Percents</span></button><button class="Button-tirokp-0 dwxRHq Button--unselected Button Button--unselected"><span data-key="chart_units.count" class="t">Count</span></button></div></div></div></div><div class="BlockTitle__Description-nuxb31-5 hmJkhL Block__Description"><span data-key="browser_apis.intl.description" class="t t-override">The Intl object is the namespace for the ECMAScript Internationalization API, which provides language sensitive string comparison, number formatting, and date and time formatting. The Intl object provides access to several constructors as well as functionality common to the internationalization constructors and other language sensitive functions.</span></div><div class="Block__Contents"><div class="FeatureExperienceBlock__Row-sc-1rrr2zp-0 hfkBgM"><h4 class="FeatureExperienceBlock__RowYear-sc-1rrr2zp-1 eBigms">2020</h4><div class="ChartContainer__ChartContainerOuter-edfgx0-0 cUpOwA ChartContainerOuter FeatureChart" style="height:40px"><div class="ChartContainer__Container-edfgx0-1 xUamw ChartContainer" style="height:40px"><div class="ChartContainer__ChartContainerInner-edfgx0-2 gpvRnu ChartContainerInner" style="height:40px"><div style="width:100%;height:100%"></div></div></div></div></div></div><table class="BlockLegends__Container-x2sx8r-0 eZbJfN Block__Legends"><tbody class="BlockLegends__ContainerInner-x2sx8r-1 dxTlgm"><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#41c7c7" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Have used it</td></tr><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#1d7e7e" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Know about it</td></tr><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#cecdcc" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Never heard of it</td></tr></tbody></table></div><div id="web_audio" class="Block__Container-sc-11g8wz8-0 bglUIQ Block Block--web_audio"><div class="BlockTitle__StyledBlockTitle-nuxb31-2 dAAPyT Block__Title"><div class="BlockTitle__LeftPart-nuxb31-4 iCAAeX"><h3 class="BlockTitle__BlockTitleText-nuxb31-3 iivsMM BlockTitleText"><a class="SharePermalink__Link-ndc8lc-0 gJOVcJ SharePermalink share__link" href="https://2020.stateofjs.com/en-US/features/browser-apis/web_audio" target="_blank" rel="noopener noreferrer" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g id="Filled_Icons_1_"><g id="Filled_Icons"><path d="M14.474,10.232l-0.706-0.706C12.208,7.966,9.67,7.964,8.11,9.525l-4.597,4.597c-1.56,1.56-1.56,4.097,0,5.657 l0.707,0.706c0.756,0.757,1.76,1.173,2.829,1.173c1.068,0,2.072-0.417,2.827-1.172l2.173-2.171c0.391-0.391,0.391-1.024,0-1.414 c-0.391-0.392-1.023-0.392-1.414,0l-2.173,2.17c-0.755,0.756-2.071,0.757-2.828,0l-0.707-0.706c-0.779-0.781-0.779-2.049,0-2.829 l4.597-4.596c0.756-0.756,2.073-0.756,2.828,0l0.707,0.707c0.391,0.391,1.023,0.391,1.414,0 C14.864,11.256,14.864,10.623,14.474,10.232z"></path><path d="M20.486,4.221l-0.707-0.706c-0.756-0.757-1.76-1.173-2.829-1.173c-1.068,0-2.072,0.418-2.827,1.172L12.135,5.5 c-0.391,0.391-0.391,1.024,0,1.414c0.391,0.392,1.023,0.392,1.414,0l1.988-1.984c0.755-0.756,2.071-0.757,2.828,0l0.707,0.706 c0.779,0.78,0.779,2.049,0,2.829l-4.597,4.596c-0.756,0.756-2.073,0.756-2.828,0c-0.391-0.391-1.024-0.391-1.414,0 c-0.391,0.391-0.392,1.023-0.001,1.414c1.56,1.562,4.098,1.562,5.657,0.001l4.597-4.597C22.046,8.319,22.046,5.781,20.486,4.221z"></path></g></g><rect fill="none" width="24" height="24" id="Frames-24px"></rect></svg></a><a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API">Web Audio</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bHsPNt CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>92.1<!-- -->%</strong> <span>(<!-- -->21892<!-- -->)</span></div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>92.1<!-- -->%</strong> <span>(<!-- -->21892<!-- -->)</span></div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 hNsnqo"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(92.1 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 cJwfmm"></circle></svg></div></h3><div class="Popover__Container-sc-3zqg9-0 fxzssI Popover Popover--bottom _is-closed"><div class="Popover__PopoverInner-sc-3zqg9-1 iFJNkp PopoverInner"><button aria-expanded="false" aria-haspopup="[object Object]" aria-controls="[object Object]" class="Button-tirokp-0 BlockTitle__MoreButton-nuxb31-1 jrlGls jDLsKE Button"><span class="BlockTitle__ScreenReadersHint-nuxb31-0 dbINfu">[en-US] general.more_actions</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" x="0" y="0" viewBox="0 0 24 24"><g><g fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"><circle cx="3" cy="12" r="2.5"></circle><circle cx="12" cy="12" r="2.5"></circle><circle cx="21" cy="12" r="2.5"></circle></g></g><path fill="none" d="M0 0H24V24H0z"></path></svg></button><div class="Popover__PopoverPopup-sc-3zqg9-3 edvQGu PopoverPopup" id="PopoverPopup"><div class="BlockTitle__PopoverContents-nuxb31-7 fNQoWU"><div class="BlockExport__ButtonWrapper-sc-1gwpler-2 hjHqeU BlockExport"><button class="Button-tirokp-0 BlockExport__ExportButton-sc-1gwpler-3 dwxRHq jOWEGs ExportButton Button ExportButton"><span data-key="export.export" class="t">Export</span></button></div><div class="ShareBlock__Container-awxqfs-0 eghido ShareBlock Block__Title__Share"><div class="ShareBlock__ButtonWrapper-awxqfs-1 cAwBhT"><button class="Button-tirokp-0 ShareBlock__ShareButton-awxqfs-2 dwxRHq ShareButton Button ShareButton" aria-haspopup="menu" aria-expanded="false"><span data-key="share.share" class="t">Share</span></button></div><div class="ShareBlock__Popup-awxqfs-4 hnxXLV ShareBlock__Popup"><a href="https://twitter.com/intent/tweet/?text=%23StateOfJS%202020%3A%20Web%20Audio%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fweb_audio" target="_blank" rel="noopener noreferrer" aria-label="Share on Twitter" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--twitter"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M23.444,4.834c-0.814,0.363-1.5,0.375-2.228,0.016c0.938-0.562,0.981-0.957,1.32-2.019c-0.878,0.521-1.851,0.9-2.886,1.104 C18.823,3.053,17.642,2.5,16.335,2.5c-2.51,0-4.544,2.036-4.544,4.544c0,0.356,0.04,0.703,0.117,1.036 C8.132,7.891,4.783,6.082,2.542,3.332C2.151,4.003,1.927,4.784,1.927,5.617c0,1.577,0.803,2.967,2.021,3.782 C3.203,9.375,2.503,9.171,1.891,8.831C1.89,8.85,1.89,8.868,1.89,8.888c0,2.202,1.566,4.038,3.646,4.456 c-0.666,0.181-1.368,0.209-2.053,0.079c0.579,1.804,2.257,3.118,4.245,3.155C5.783,18.102,3.372,18.737,1,18.459 C3.012,19.748,5.399,20.5,7.966,20.5c8.358,0,12.928-6.924,12.928-12.929c0-0.198-0.003-0.393-0.012-0.588 C21.769,6.343,22.835,5.746,23.444,4.834z"></path></svg><span class="sr-only">Share on Twitter</span></a><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fweb_audio" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--facebook"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M18.768,7.465H14.5V5.56c0-0.896,0.594-1.105,1.012-1.105s2.988,0,2.988,0V0.513L14.171,0.5C10.244,0.5,9.5,3.438,9.5,5.32 v2.145h-3v4h3c0,5.212,0,12,0,12h5c0,0,0-6.85,0-12h3.851L18.768,7.465z"></path></svg><span class="sr-only">Share on Facebook</span></a><a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fweb_audio&title=Web Audio&summary=" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--linkedin"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path></svg><span class="sr-only">Share on LinkedIn</span></a><a href="mailto:?subject=State%20of%20JS%202020%20Survey%20Results&body=Here%20are%20some%20interesting%20survey%20results%20(Web%20Audio)%3A%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fweb_audio" target="_self" aria-label="Share by email" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--email"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M22,4H2C0.897,4,0,4.897,0,6v12c0,1.103,0.897,2,2,2h20c1.103,0,2-0.897,2-2V6C24,4.897,23.103,4,22,4z M7.248,14.434 l-3.5,2C3.67,16.479,3.584,16.5,3.5,16.5c-0.174,0-0.342-0.09-0.435-0.252c-0.137-0.239-0.054-0.545,0.186-0.682l3.5-2 c0.24-0.137,0.545-0.054,0.682,0.186C7.571,13.992,7.488,14.297,7.248,14.434z M12,14.5c-0.094,0-0.189-0.026-0.271-0.08l-8.5-5.5 C2.997,8.77,2.93,8.46,3.081,8.229c0.15-0.23,0.459-0.298,0.691-0.147L12,13.405l8.229-5.324c0.232-0.15,0.542-0.084,0.691,0.147 c0.15,0.232,0.083,0.542-0.148,0.691l-8.5,5.5C12.189,14.474,12.095,14.5,12,14.5z M20.934,16.248 C20.842,16.41,20.673,16.5,20.5,16.5c-0.084,0-0.169-0.021-0.248-0.065l-3.5-2c-0.24-0.137-0.323-0.442-0.186-0.682 s0.443-0.322,0.682-0.186l3.5,2C20.988,15.703,21.071,16.009,20.934,16.248z"></path></svg><span class="sr-only">Share by email</span></a><a href="https://stateofx-images.netlify.app/captures/js2020/en-US/web_audio.png" target="_blank" rel="noopener noreferrer" aria-label="Get image" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--image"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M22.486,17.236l1.05-1.458c0.125-0.175,0.125-0.409,0-0.584l-1.049-1.459l1.049-1.458c0.125-0.175,0.125-0.41,0-0.584 l-1.049-1.455l1.049-1.457c0.126-0.174,0.125-0.41,0-0.585l-1.048-1.451l1.049-1.455c0.125-0.175,0.125-0.411,0-0.585 l-1.085-1.506l0.943-1.925c0.094-0.192,0.056-0.423-0.096-0.574c-0.15-0.151-0.381-0.189-0.573-0.096l-1.932,0.945L19.28,0.464 c-0.175-0.126-0.41-0.125-0.583,0l-1.461,1.05l-1.457-1.049c-0.175-0.126-0.41-0.126-0.584,0l-1.459,1.049l-1.457-1.049 c-0.174-0.126-0.41-0.126-0.585,0l-1.455,1.049L8.781,0.465c-0.174-0.126-0.41-0.126-0.585,0L6.745,1.513L5.29,0.465 c-0.175-0.126-0.411-0.126-0.584,0L3.198,1.549L1.273,0.606C1.084,0.514,0.852,0.551,0.7,0.702 c-0.151,0.15-0.19,0.382-0.096,0.573l0.945,1.932L0.464,4.72c-0.125,0.174-0.125,0.41,0,0.583l1.05,1.461l-1.05,1.457 c-0.125,0.174-0.125,0.409,0,0.584l1.049,1.46l-1.049,1.458c-0.125,0.174-0.125,0.41,0,0.584l1.049,1.455L0.464,15.22 c-0.126,0.174-0.125,0.411,0,0.585l1.048,1.452l-1.049,1.454c-0.125,0.175-0.125,0.41,0,0.585l1.085,1.506l-0.943,1.925 c-0.094,0.192-0.056,0.422,0.096,0.574c0.151,0.151,0.383,0.189,0.573,0.095l1.932-0.944l1.513,1.085 c0.174,0.125,0.409,0.125,0.583,0l1.461-1.051l1.457,1.05c0.174,0.126,0.409,0.126,0.584,0l1.459-1.049l1.457,1.049 c0.174,0.126,0.41,0.126,0.585,0l1.455-1.049l1.458,1.049c0.087,0.063,0.189,0.094,0.292,0.094c0.102,0,0.206-0.032,0.293-0.095 l1.451-1.048l1.456,1.049c0.175,0.126,0.411,0.126,0.584,0l1.507-1.084l1.925,0.942c0.192,0.094,0.424,0.056,0.575-0.098 c0.151-0.152,0.188-0.385,0.091-0.577l-0.94-1.865l1.088-1.583c0.119-0.174,0.117-0.404-0.006-0.575L22.486,17.236z M20,19.5 c0,0.276-0.224,0.5-0.5,0.5h-15C4.224,20,4,19.776,4,19.5v-15C4,4.224,4.224,4,4.5,4h15C19.776,4,20,4.224,20,4.5V19.5z"></path><path d="M17.983,17.371l-2.143-8c-0.056-0.208-0.238-0.357-0.453-0.37c-0.222-0.013-0.414,0.113-0.494,0.312l-2.061,5.125 l-1.911-1.569c-0.12-0.099-0.278-0.135-0.43-0.101c-0.151,0.035-0.278,0.14-0.342,0.28l-1.938,4.245 c-0.07,0.155-0.058,0.335,0.035,0.478C8.338,17.914,8.497,18,8.667,18H17.5c0.155,0,0.302-0.072,0.396-0.196 C17.991,17.682,18.023,17.521,17.983,17.371z"></path><circle cx="9" cy="9" r="2.5"></circle></svg><span class="sr-only">Get image</span></a></div></div><div class="BlockTitle__BlockChartControls-nuxb31-6 bcoAoM BlockChartControls"><div class="ButtonGroup-sc-1k32jr0-0 dRuaES"><button class="Button-tirokp-0 dwxRHq Button--selected Button Button--selected"><span data-key="chart_units.percentage" class="t">Percents</span></button><button class="Button-tirokp-0 dwxRHq Button--unselected Button Button--unselected"><span data-key="chart_units.count" class="t">Count</span></button></div></div></div></div></div></div><div class="BlockTitle__BlockTitleActionsWrapper-nuxb31-8 bzxYzw"><div class="BlockExport__ButtonWrapper-sc-1gwpler-2 hjHqeU BlockExport"><button class="Button-tirokp-0 BlockExport__ExportButton-sc-1gwpler-3 dwxRHq jOWEGs ExportButton Button ExportButton"><span data-key="export.export" class="t">Export</span></button></div><div class="ShareBlock__Container-awxqfs-0 eghido ShareBlock Block__Title__Share"><div class="ShareBlock__ButtonWrapper-awxqfs-1 cAwBhT"><button class="Button-tirokp-0 ShareBlock__ShareButton-awxqfs-2 dwxRHq ShareButton Button ShareButton" aria-haspopup="menu" aria-expanded="false"><span data-key="share.share" class="t">Share</span></button></div><div class="ShareBlock__Popup-awxqfs-4 hnxXLV ShareBlock__Popup"><a href="https://twitter.com/intent/tweet/?text=%23StateOfJS%202020%3A%20Web%20Audio%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fweb_audio" target="_blank" rel="noopener noreferrer" aria-label="Share on Twitter" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--twitter"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M23.444,4.834c-0.814,0.363-1.5,0.375-2.228,0.016c0.938-0.562,0.981-0.957,1.32-2.019c-0.878,0.521-1.851,0.9-2.886,1.104 C18.823,3.053,17.642,2.5,16.335,2.5c-2.51,0-4.544,2.036-4.544,4.544c0,0.356,0.04,0.703,0.117,1.036 C8.132,7.891,4.783,6.082,2.542,3.332C2.151,4.003,1.927,4.784,1.927,5.617c0,1.577,0.803,2.967,2.021,3.782 C3.203,9.375,2.503,9.171,1.891,8.831C1.89,8.85,1.89,8.868,1.89,8.888c0,2.202,1.566,4.038,3.646,4.456 c-0.666,0.181-1.368,0.209-2.053,0.079c0.579,1.804,2.257,3.118,4.245,3.155C5.783,18.102,3.372,18.737,1,18.459 C3.012,19.748,5.399,20.5,7.966,20.5c8.358,0,12.928-6.924,12.928-12.929c0-0.198-0.003-0.393-0.012-0.588 C21.769,6.343,22.835,5.746,23.444,4.834z"></path></svg><span class="sr-only">Share on Twitter</span></a><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fweb_audio" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--facebook"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M18.768,7.465H14.5V5.56c0-0.896,0.594-1.105,1.012-1.105s2.988,0,2.988,0V0.513L14.171,0.5C10.244,0.5,9.5,3.438,9.5,5.32 v2.145h-3v4h3c0,5.212,0,12,0,12h5c0,0,0-6.85,0-12h3.851L18.768,7.465z"></path></svg><span class="sr-only">Share on Facebook</span></a><a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fweb_audio&title=Web Audio&summary=" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--linkedin"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path></svg><span class="sr-only">Share on LinkedIn</span></a><a href="mailto:?subject=State%20of%20JS%202020%20Survey%20Results&body=Here%20are%20some%20interesting%20survey%20results%20(Web%20Audio)%3A%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fweb_audio" target="_self" aria-label="Share by email" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--email"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M22,4H2C0.897,4,0,4.897,0,6v12c0,1.103,0.897,2,2,2h20c1.103,0,2-0.897,2-2V6C24,4.897,23.103,4,22,4z M7.248,14.434 l-3.5,2C3.67,16.479,3.584,16.5,3.5,16.5c-0.174,0-0.342-0.09-0.435-0.252c-0.137-0.239-0.054-0.545,0.186-0.682l3.5-2 c0.24-0.137,0.545-0.054,0.682,0.186C7.571,13.992,7.488,14.297,7.248,14.434z M12,14.5c-0.094,0-0.189-0.026-0.271-0.08l-8.5-5.5 C2.997,8.77,2.93,8.46,3.081,8.229c0.15-0.23,0.459-0.298,0.691-0.147L12,13.405l8.229-5.324c0.232-0.15,0.542-0.084,0.691,0.147 c0.15,0.232,0.083,0.542-0.148,0.691l-8.5,5.5C12.189,14.474,12.095,14.5,12,14.5z M20.934,16.248 C20.842,16.41,20.673,16.5,20.5,16.5c-0.084,0-0.169-0.021-0.248-0.065l-3.5-2c-0.24-0.137-0.323-0.442-0.186-0.682 s0.443-0.322,0.682-0.186l3.5,2C20.988,15.703,21.071,16.009,20.934,16.248z"></path></svg><span class="sr-only">Share by email</span></a><a href="https://stateofx-images.netlify.app/captures/js2020/en-US/web_audio.png" target="_blank" rel="noopener noreferrer" aria-label="Get image" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--image"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M22.486,17.236l1.05-1.458c0.125-0.175,0.125-0.409,0-0.584l-1.049-1.459l1.049-1.458c0.125-0.175,0.125-0.41,0-0.584 l-1.049-1.455l1.049-1.457c0.126-0.174,0.125-0.41,0-0.585l-1.048-1.451l1.049-1.455c0.125-0.175,0.125-0.411,0-0.585 l-1.085-1.506l0.943-1.925c0.094-0.192,0.056-0.423-0.096-0.574c-0.15-0.151-0.381-0.189-0.573-0.096l-1.932,0.945L19.28,0.464 c-0.175-0.126-0.41-0.125-0.583,0l-1.461,1.05l-1.457-1.049c-0.175-0.126-0.41-0.126-0.584,0l-1.459,1.049l-1.457-1.049 c-0.174-0.126-0.41-0.126-0.585,0l-1.455,1.049L8.781,0.465c-0.174-0.126-0.41-0.126-0.585,0L6.745,1.513L5.29,0.465 c-0.175-0.126-0.411-0.126-0.584,0L3.198,1.549L1.273,0.606C1.084,0.514,0.852,0.551,0.7,0.702 c-0.151,0.15-0.19,0.382-0.096,0.573l0.945,1.932L0.464,4.72c-0.125,0.174-0.125,0.41,0,0.583l1.05,1.461l-1.05,1.457 c-0.125,0.174-0.125,0.409,0,0.584l1.049,1.46l-1.049,1.458c-0.125,0.174-0.125,0.41,0,0.584l1.049,1.455L0.464,15.22 c-0.126,0.174-0.125,0.411,0,0.585l1.048,1.452l-1.049,1.454c-0.125,0.175-0.125,0.41,0,0.585l1.085,1.506l-0.943,1.925 c-0.094,0.192-0.056,0.422,0.096,0.574c0.151,0.151,0.383,0.189,0.573,0.095l1.932-0.944l1.513,1.085 c0.174,0.125,0.409,0.125,0.583,0l1.461-1.051l1.457,1.05c0.174,0.126,0.409,0.126,0.584,0l1.459-1.049l1.457,1.049 c0.174,0.126,0.41,0.126,0.585,0l1.455-1.049l1.458,1.049c0.087,0.063,0.189,0.094,0.292,0.094c0.102,0,0.206-0.032,0.293-0.095 l1.451-1.048l1.456,1.049c0.175,0.126,0.411,0.126,0.584,0l1.507-1.084l1.925,0.942c0.192,0.094,0.424,0.056,0.575-0.098 c0.151-0.152,0.188-0.385,0.091-0.577l-0.94-1.865l1.088-1.583c0.119-0.174,0.117-0.404-0.006-0.575L22.486,17.236z M20,19.5 c0,0.276-0.224,0.5-0.5,0.5h-15C4.224,20,4,19.776,4,19.5v-15C4,4.224,4.224,4,4.5,4h15C19.776,4,20,4.224,20,4.5V19.5z"></path><path d="M17.983,17.371l-2.143-8c-0.056-0.208-0.238-0.357-0.453-0.37c-0.222-0.013-0.414,0.113-0.494,0.312l-2.061,5.125 l-1.911-1.569c-0.12-0.099-0.278-0.135-0.43-0.101c-0.151,0.035-0.278,0.14-0.342,0.28l-1.938,4.245 c-0.07,0.155-0.058,0.335,0.035,0.478C8.338,17.914,8.497,18,8.667,18H17.5c0.155,0,0.302-0.072,0.396-0.196 C17.991,17.682,18.023,17.521,17.983,17.371z"></path><circle cx="9" cy="9" r="2.5"></circle></svg><span class="sr-only">Get image</span></a></div></div></div></div><div class="BlockTitle__BlockTitleSwitcherWrapper-nuxb31-9 aNaBd"><div class="BlockTitle__BlockChartControls-nuxb31-6 bcoAoM BlockChartControls"><div class="ButtonGroup-sc-1k32jr0-0 dRuaES"><button class="Button-tirokp-0 dwxRHq Button--selected Button Button--selected"><span data-key="chart_units.percentage" class="t">Percents</span></button><button class="Button-tirokp-0 dwxRHq Button--unselected Button Button--unselected"><span data-key="chart_units.count" class="t">Count</span></button></div></div></div></div><div class="BlockTitle__Description-nuxb31-5 hmJkhL Block__Description"><span data-key="browser_apis.web_audio.description" class="t t-override">The Web Audio API provides a powerful and versatile system for controlling audio on the Web, allowing developers to choose audio sources, add effects to audio, create audio visualizations, apply spatial effects (such as panning) and much more.</span></div><div class="Block__Contents"><div class="FeatureExperienceBlock__Row-sc-1rrr2zp-0 hfkBgM"><h4 class="FeatureExperienceBlock__RowYear-sc-1rrr2zp-1 eBigms">2019</h4><div class="ChartContainer__ChartContainerOuter-edfgx0-0 cUpOwA ChartContainerOuter FeatureChart" style="height:40px"><div class="ChartContainer__Container-edfgx0-1 xUamw ChartContainer" style="height:40px"><div class="ChartContainer__ChartContainerInner-edfgx0-2 gpvRnu ChartContainerInner" style="height:40px"><div style="width:100%;height:100%"></div></div></div></div></div><div class="FeatureExperienceBlock__Row-sc-1rrr2zp-0 hfkBgM"><h4 class="FeatureExperienceBlock__RowYear-sc-1rrr2zp-1 eBigms">2020</h4><div class="ChartContainer__ChartContainerOuter-edfgx0-0 cUpOwA ChartContainerOuter FeatureChart" style="height:40px"><div class="ChartContainer__Container-edfgx0-1 xUamw ChartContainer" style="height:40px"><div class="ChartContainer__ChartContainerInner-edfgx0-2 gpvRnu ChartContainerInner" style="height:40px"><div style="width:100%;height:100%"></div></div></div></div></div></div><table class="BlockLegends__Container-x2sx8r-0 eZbJfN Block__Legends"><tbody class="BlockLegends__ContainerInner-x2sx8r-1 dxTlgm"><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#41c7c7" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Have used it</td></tr><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#1d7e7e" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Know about it</td></tr><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#cecdcc" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Never heard of it</td></tr></tbody></table></div><div id="webgl" class="Block__Container-sc-11g8wz8-0 bglUIQ Block Block--webgl"><div class="BlockTitle__StyledBlockTitle-nuxb31-2 dAAPyT Block__Title"><div class="BlockTitle__LeftPart-nuxb31-4 iCAAeX"><h3 class="BlockTitle__BlockTitleText-nuxb31-3 iivsMM BlockTitleText"><a class="SharePermalink__Link-ndc8lc-0 gJOVcJ SharePermalink share__link" href="https://2020.stateofjs.com/en-US/features/browser-apis/webgl" target="_blank" rel="noopener noreferrer" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g id="Filled_Icons_1_"><g id="Filled_Icons"><path d="M14.474,10.232l-0.706-0.706C12.208,7.966,9.67,7.964,8.11,9.525l-4.597,4.597c-1.56,1.56-1.56,4.097,0,5.657 l0.707,0.706c0.756,0.757,1.76,1.173,2.829,1.173c1.068,0,2.072-0.417,2.827-1.172l2.173-2.171c0.391-0.391,0.391-1.024,0-1.414 c-0.391-0.392-1.023-0.392-1.414,0l-2.173,2.17c-0.755,0.756-2.071,0.757-2.828,0l-0.707-0.706c-0.779-0.781-0.779-2.049,0-2.829 l4.597-4.596c0.756-0.756,2.073-0.756,2.828,0l0.707,0.707c0.391,0.391,1.023,0.391,1.414,0 C14.864,11.256,14.864,10.623,14.474,10.232z"></path><path d="M20.486,4.221l-0.707-0.706c-0.756-0.757-1.76-1.173-2.829-1.173c-1.068,0-2.072,0.418-2.827,1.172L12.135,5.5 c-0.391,0.391-0.391,1.024,0,1.414c0.391,0.392,1.023,0.392,1.414,0l1.988-1.984c0.755-0.756,2.071-0.757,2.828,0l0.707,0.706 c0.779,0.78,0.779,2.049,0,2.829l-4.597,4.596c-0.756,0.756-2.073,0.756-2.828,0c-0.391-0.391-1.024-0.391-1.414,0 c-0.391,0.391-0.392,1.023-0.001,1.414c1.56,1.562,4.098,1.562,5.657,0.001l4.597-4.597C22.046,8.319,22.046,5.781,20.486,4.221z"></path></g></g><rect fill="none" width="24" height="24" id="Frames-24px"></rect></svg></a><a href="https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Tutorial/Getting_started_with_WebGL">WebGL</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bHsPNt CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>92.2<!-- -->%</strong> <span>(<!-- -->21913<!-- -->)</span></div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>92.2<!-- -->%</strong> <span>(<!-- -->21913<!-- -->)</span></div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 hNsnqo"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(92.2 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 cJwfmm"></circle></svg></div></h3><div class="Popover__Container-sc-3zqg9-0 fxzssI Popover Popover--bottom _is-closed"><div class="Popover__PopoverInner-sc-3zqg9-1 iFJNkp PopoverInner"><button aria-expanded="false" aria-haspopup="[object Object]" aria-controls="[object Object]" class="Button-tirokp-0 BlockTitle__MoreButton-nuxb31-1 jrlGls jDLsKE Button"><span class="BlockTitle__ScreenReadersHint-nuxb31-0 dbINfu">[en-US] general.more_actions</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" x="0" y="0" viewBox="0 0 24 24"><g><g fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"><circle cx="3" cy="12" r="2.5"></circle><circle cx="12" cy="12" r="2.5"></circle><circle cx="21" cy="12" r="2.5"></circle></g></g><path fill="none" d="M0 0H24V24H0z"></path></svg></button><div class="Popover__PopoverPopup-sc-3zqg9-3 edvQGu PopoverPopup" id="PopoverPopup"><div class="BlockTitle__PopoverContents-nuxb31-7 fNQoWU"><div class="BlockExport__ButtonWrapper-sc-1gwpler-2 hjHqeU BlockExport"><button class="Button-tirokp-0 BlockExport__ExportButton-sc-1gwpler-3 dwxRHq jOWEGs ExportButton Button ExportButton"><span data-key="export.export" class="t">Export</span></button></div><div class="ShareBlock__Container-awxqfs-0 eghido ShareBlock Block__Title__Share"><div class="ShareBlock__ButtonWrapper-awxqfs-1 cAwBhT"><button class="Button-tirokp-0 ShareBlock__ShareButton-awxqfs-2 dwxRHq ShareButton Button ShareButton" aria-haspopup="menu" aria-expanded="false"><span data-key="share.share" class="t">Share</span></button></div><div class="ShareBlock__Popup-awxqfs-4 hnxXLV ShareBlock__Popup"><a href="https://twitter.com/intent/tweet/?text=%23StateOfJS%202020%3A%20WebGL%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fwebgl" target="_blank" rel="noopener noreferrer" aria-label="Share on Twitter" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--twitter"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M23.444,4.834c-0.814,0.363-1.5,0.375-2.228,0.016c0.938-0.562,0.981-0.957,1.32-2.019c-0.878,0.521-1.851,0.9-2.886,1.104 C18.823,3.053,17.642,2.5,16.335,2.5c-2.51,0-4.544,2.036-4.544,4.544c0,0.356,0.04,0.703,0.117,1.036 C8.132,7.891,4.783,6.082,2.542,3.332C2.151,4.003,1.927,4.784,1.927,5.617c0,1.577,0.803,2.967,2.021,3.782 C3.203,9.375,2.503,9.171,1.891,8.831C1.89,8.85,1.89,8.868,1.89,8.888c0,2.202,1.566,4.038,3.646,4.456 c-0.666,0.181-1.368,0.209-2.053,0.079c0.579,1.804,2.257,3.118,4.245,3.155C5.783,18.102,3.372,18.737,1,18.459 C3.012,19.748,5.399,20.5,7.966,20.5c8.358,0,12.928-6.924,12.928-12.929c0-0.198-0.003-0.393-0.012-0.588 C21.769,6.343,22.835,5.746,23.444,4.834z"></path></svg><span class="sr-only">Share on Twitter</span></a><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fwebgl" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--facebook"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M18.768,7.465H14.5V5.56c0-0.896,0.594-1.105,1.012-1.105s2.988,0,2.988,0V0.513L14.171,0.5C10.244,0.5,9.5,3.438,9.5,5.32 v2.145h-3v4h3c0,5.212,0,12,0,12h5c0,0,0-6.85,0-12h3.851L18.768,7.465z"></path></svg><span class="sr-only">Share on Facebook</span></a><a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fwebgl&title=WebGL&summary=" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--linkedin"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path></svg><span class="sr-only">Share on LinkedIn</span></a><a href="mailto:?subject=State%20of%20JS%202020%20Survey%20Results&body=Here%20are%20some%20interesting%20survey%20results%20(WebGL)%3A%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fwebgl" target="_self" aria-label="Share by email" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--email"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M22,4H2C0.897,4,0,4.897,0,6v12c0,1.103,0.897,2,2,2h20c1.103,0,2-0.897,2-2V6C24,4.897,23.103,4,22,4z M7.248,14.434 l-3.5,2C3.67,16.479,3.584,16.5,3.5,16.5c-0.174,0-0.342-0.09-0.435-0.252c-0.137-0.239-0.054-0.545,0.186-0.682l3.5-2 c0.24-0.137,0.545-0.054,0.682,0.186C7.571,13.992,7.488,14.297,7.248,14.434z M12,14.5c-0.094,0-0.189-0.026-0.271-0.08l-8.5-5.5 C2.997,8.77,2.93,8.46,3.081,8.229c0.15-0.23,0.459-0.298,0.691-0.147L12,13.405l8.229-5.324c0.232-0.15,0.542-0.084,0.691,0.147 c0.15,0.232,0.083,0.542-0.148,0.691l-8.5,5.5C12.189,14.474,12.095,14.5,12,14.5z M20.934,16.248 C20.842,16.41,20.673,16.5,20.5,16.5c-0.084,0-0.169-0.021-0.248-0.065l-3.5-2c-0.24-0.137-0.323-0.442-0.186-0.682 s0.443-0.322,0.682-0.186l3.5,2C20.988,15.703,21.071,16.009,20.934,16.248z"></path></svg><span class="sr-only">Share by email</span></a><a href="https://stateofx-images.netlify.app/captures/js2020/en-US/webgl.png" target="_blank" rel="noopener noreferrer" aria-label="Get image" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--image"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M22.486,17.236l1.05-1.458c0.125-0.175,0.125-0.409,0-0.584l-1.049-1.459l1.049-1.458c0.125-0.175,0.125-0.41,0-0.584 l-1.049-1.455l1.049-1.457c0.126-0.174,0.125-0.41,0-0.585l-1.048-1.451l1.049-1.455c0.125-0.175,0.125-0.411,0-0.585 l-1.085-1.506l0.943-1.925c0.094-0.192,0.056-0.423-0.096-0.574c-0.15-0.151-0.381-0.189-0.573-0.096l-1.932,0.945L19.28,0.464 c-0.175-0.126-0.41-0.125-0.583,0l-1.461,1.05l-1.457-1.049c-0.175-0.126-0.41-0.126-0.584,0l-1.459,1.049l-1.457-1.049 c-0.174-0.126-0.41-0.126-0.585,0l-1.455,1.049L8.781,0.465c-0.174-0.126-0.41-0.126-0.585,0L6.745,1.513L5.29,0.465 c-0.175-0.126-0.411-0.126-0.584,0L3.198,1.549L1.273,0.606C1.084,0.514,0.852,0.551,0.7,0.702 c-0.151,0.15-0.19,0.382-0.096,0.573l0.945,1.932L0.464,4.72c-0.125,0.174-0.125,0.41,0,0.583l1.05,1.461l-1.05,1.457 c-0.125,0.174-0.125,0.409,0,0.584l1.049,1.46l-1.049,1.458c-0.125,0.174-0.125,0.41,0,0.584l1.049,1.455L0.464,15.22 c-0.126,0.174-0.125,0.411,0,0.585l1.048,1.452l-1.049,1.454c-0.125,0.175-0.125,0.41,0,0.585l1.085,1.506l-0.943,1.925 c-0.094,0.192-0.056,0.422,0.096,0.574c0.151,0.151,0.383,0.189,0.573,0.095l1.932-0.944l1.513,1.085 c0.174,0.125,0.409,0.125,0.583,0l1.461-1.051l1.457,1.05c0.174,0.126,0.409,0.126,0.584,0l1.459-1.049l1.457,1.049 c0.174,0.126,0.41,0.126,0.585,0l1.455-1.049l1.458,1.049c0.087,0.063,0.189,0.094,0.292,0.094c0.102,0,0.206-0.032,0.293-0.095 l1.451-1.048l1.456,1.049c0.175,0.126,0.411,0.126,0.584,0l1.507-1.084l1.925,0.942c0.192,0.094,0.424,0.056,0.575-0.098 c0.151-0.152,0.188-0.385,0.091-0.577l-0.94-1.865l1.088-1.583c0.119-0.174,0.117-0.404-0.006-0.575L22.486,17.236z M20,19.5 c0,0.276-0.224,0.5-0.5,0.5h-15C4.224,20,4,19.776,4,19.5v-15C4,4.224,4.224,4,4.5,4h15C19.776,4,20,4.224,20,4.5V19.5z"></path><path d="M17.983,17.371l-2.143-8c-0.056-0.208-0.238-0.357-0.453-0.37c-0.222-0.013-0.414,0.113-0.494,0.312l-2.061,5.125 l-1.911-1.569c-0.12-0.099-0.278-0.135-0.43-0.101c-0.151,0.035-0.278,0.14-0.342,0.28l-1.938,4.245 c-0.07,0.155-0.058,0.335,0.035,0.478C8.338,17.914,8.497,18,8.667,18H17.5c0.155,0,0.302-0.072,0.396-0.196 C17.991,17.682,18.023,17.521,17.983,17.371z"></path><circle cx="9" cy="9" r="2.5"></circle></svg><span class="sr-only">Get image</span></a></div></div><div class="BlockTitle__BlockChartControls-nuxb31-6 bcoAoM BlockChartControls"><div class="ButtonGroup-sc-1k32jr0-0 dRuaES"><button class="Button-tirokp-0 dwxRHq Button--selected Button Button--selected"><span data-key="chart_units.percentage" class="t">Percents</span></button><button class="Button-tirokp-0 dwxRHq Button--unselected Button Button--unselected"><span data-key="chart_units.count" class="t">Count</span></button></div></div></div></div></div></div><div class="BlockTitle__BlockTitleActionsWrapper-nuxb31-8 bzxYzw"><div class="BlockExport__ButtonWrapper-sc-1gwpler-2 hjHqeU BlockExport"><button class="Button-tirokp-0 BlockExport__ExportButton-sc-1gwpler-3 dwxRHq jOWEGs ExportButton Button ExportButton"><span data-key="export.export" class="t">Export</span></button></div><div class="ShareBlock__Container-awxqfs-0 eghido ShareBlock Block__Title__Share"><div class="ShareBlock__ButtonWrapper-awxqfs-1 cAwBhT"><button class="Button-tirokp-0 ShareBlock__ShareButton-awxqfs-2 dwxRHq ShareButton Button ShareButton" aria-haspopup="menu" aria-expanded="false"><span data-key="share.share" class="t">Share</span></button></div><div class="ShareBlock__Popup-awxqfs-4 hnxXLV ShareBlock__Popup"><a href="https://twitter.com/intent/tweet/?text=%23StateOfJS%202020%3A%20WebGL%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fwebgl" target="_blank" rel="noopener noreferrer" aria-label="Share on Twitter" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--twitter"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M23.444,4.834c-0.814,0.363-1.5,0.375-2.228,0.016c0.938-0.562,0.981-0.957,1.32-2.019c-0.878,0.521-1.851,0.9-2.886,1.104 C18.823,3.053,17.642,2.5,16.335,2.5c-2.51,0-4.544,2.036-4.544,4.544c0,0.356,0.04,0.703,0.117,1.036 C8.132,7.891,4.783,6.082,2.542,3.332C2.151,4.003,1.927,4.784,1.927,5.617c0,1.577,0.803,2.967,2.021,3.782 C3.203,9.375,2.503,9.171,1.891,8.831C1.89,8.85,1.89,8.868,1.89,8.888c0,2.202,1.566,4.038,3.646,4.456 c-0.666,0.181-1.368,0.209-2.053,0.079c0.579,1.804,2.257,3.118,4.245,3.155C5.783,18.102,3.372,18.737,1,18.459 C3.012,19.748,5.399,20.5,7.966,20.5c8.358,0,12.928-6.924,12.928-12.929c0-0.198-0.003-0.393-0.012-0.588 C21.769,6.343,22.835,5.746,23.444,4.834z"></path></svg><span class="sr-only">Share on Twitter</span></a><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fwebgl" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--facebook"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M18.768,7.465H14.5V5.56c0-0.896,0.594-1.105,1.012-1.105s2.988,0,2.988,0V0.513L14.171,0.5C10.244,0.5,9.5,3.438,9.5,5.32 v2.145h-3v4h3c0,5.212,0,12,0,12h5c0,0,0-6.85,0-12h3.851L18.768,7.465z"></path></svg><span class="sr-only">Share on Facebook</span></a><a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fwebgl&title=WebGL&summary=" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--linkedin"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path></svg><span class="sr-only">Share on LinkedIn</span></a><a href="mailto:?subject=State%20of%20JS%202020%20Survey%20Results&body=Here%20are%20some%20interesting%20survey%20results%20(WebGL)%3A%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fwebgl" target="_self" aria-label="Share by email" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--email"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M22,4H2C0.897,4,0,4.897,0,6v12c0,1.103,0.897,2,2,2h20c1.103,0,2-0.897,2-2V6C24,4.897,23.103,4,22,4z M7.248,14.434 l-3.5,2C3.67,16.479,3.584,16.5,3.5,16.5c-0.174,0-0.342-0.09-0.435-0.252c-0.137-0.239-0.054-0.545,0.186-0.682l3.5-2 c0.24-0.137,0.545-0.054,0.682,0.186C7.571,13.992,7.488,14.297,7.248,14.434z M12,14.5c-0.094,0-0.189-0.026-0.271-0.08l-8.5-5.5 C2.997,8.77,2.93,8.46,3.081,8.229c0.15-0.23,0.459-0.298,0.691-0.147L12,13.405l8.229-5.324c0.232-0.15,0.542-0.084,0.691,0.147 c0.15,0.232,0.083,0.542-0.148,0.691l-8.5,5.5C12.189,14.474,12.095,14.5,12,14.5z M20.934,16.248 C20.842,16.41,20.673,16.5,20.5,16.5c-0.084,0-0.169-0.021-0.248-0.065l-3.5-2c-0.24-0.137-0.323-0.442-0.186-0.682 s0.443-0.322,0.682-0.186l3.5,2C20.988,15.703,21.071,16.009,20.934,16.248z"></path></svg><span class="sr-only">Share by email</span></a><a href="https://stateofx-images.netlify.app/captures/js2020/en-US/webgl.png" target="_blank" rel="noopener noreferrer" aria-label="Get image" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--image"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M22.486,17.236l1.05-1.458c0.125-0.175,0.125-0.409,0-0.584l-1.049-1.459l1.049-1.458c0.125-0.175,0.125-0.41,0-0.584 l-1.049-1.455l1.049-1.457c0.126-0.174,0.125-0.41,0-0.585l-1.048-1.451l1.049-1.455c0.125-0.175,0.125-0.411,0-0.585 l-1.085-1.506l0.943-1.925c0.094-0.192,0.056-0.423-0.096-0.574c-0.15-0.151-0.381-0.189-0.573-0.096l-1.932,0.945L19.28,0.464 c-0.175-0.126-0.41-0.125-0.583,0l-1.461,1.05l-1.457-1.049c-0.175-0.126-0.41-0.126-0.584,0l-1.459,1.049l-1.457-1.049 c-0.174-0.126-0.41-0.126-0.585,0l-1.455,1.049L8.781,0.465c-0.174-0.126-0.41-0.126-0.585,0L6.745,1.513L5.29,0.465 c-0.175-0.126-0.411-0.126-0.584,0L3.198,1.549L1.273,0.606C1.084,0.514,0.852,0.551,0.7,0.702 c-0.151,0.15-0.19,0.382-0.096,0.573l0.945,1.932L0.464,4.72c-0.125,0.174-0.125,0.41,0,0.583l1.05,1.461l-1.05,1.457 c-0.125,0.174-0.125,0.409,0,0.584l1.049,1.46l-1.049,1.458c-0.125,0.174-0.125,0.41,0,0.584l1.049,1.455L0.464,15.22 c-0.126,0.174-0.125,0.411,0,0.585l1.048,1.452l-1.049,1.454c-0.125,0.175-0.125,0.41,0,0.585l1.085,1.506l-0.943,1.925 c-0.094,0.192-0.056,0.422,0.096,0.574c0.151,0.151,0.383,0.189,0.573,0.095l1.932-0.944l1.513,1.085 c0.174,0.125,0.409,0.125,0.583,0l1.461-1.051l1.457,1.05c0.174,0.126,0.409,0.126,0.584,0l1.459-1.049l1.457,1.049 c0.174,0.126,0.41,0.126,0.585,0l1.455-1.049l1.458,1.049c0.087,0.063,0.189,0.094,0.292,0.094c0.102,0,0.206-0.032,0.293-0.095 l1.451-1.048l1.456,1.049c0.175,0.126,0.411,0.126,0.584,0l1.507-1.084l1.925,0.942c0.192,0.094,0.424,0.056,0.575-0.098 c0.151-0.152,0.188-0.385,0.091-0.577l-0.94-1.865l1.088-1.583c0.119-0.174,0.117-0.404-0.006-0.575L22.486,17.236z M20,19.5 c0,0.276-0.224,0.5-0.5,0.5h-15C4.224,20,4,19.776,4,19.5v-15C4,4.224,4.224,4,4.5,4h15C19.776,4,20,4.224,20,4.5V19.5z"></path><path d="M17.983,17.371l-2.143-8c-0.056-0.208-0.238-0.357-0.453-0.37c-0.222-0.013-0.414,0.113-0.494,0.312l-2.061,5.125 l-1.911-1.569c-0.12-0.099-0.278-0.135-0.43-0.101c-0.151,0.035-0.278,0.14-0.342,0.28l-1.938,4.245 c-0.07,0.155-0.058,0.335,0.035,0.478C8.338,17.914,8.497,18,8.667,18H17.5c0.155,0,0.302-0.072,0.396-0.196 C17.991,17.682,18.023,17.521,17.983,17.371z"></path><circle cx="9" cy="9" r="2.5"></circle></svg><span class="sr-only">Get image</span></a></div></div></div></div><div class="BlockTitle__BlockTitleSwitcherWrapper-nuxb31-9 aNaBd"><div class="BlockTitle__BlockChartControls-nuxb31-6 bcoAoM BlockChartControls"><div class="ButtonGroup-sc-1k32jr0-0 dRuaES"><button class="Button-tirokp-0 dwxRHq Button--selected Button Button--selected"><span data-key="chart_units.percentage" class="t">Percents</span></button><button class="Button-tirokp-0 dwxRHq Button--unselected Button Button--unselected"><span data-key="chart_units.count" class="t">Count</span></button></div></div></div></div><div class="BlockTitle__Description-nuxb31-5 hmJkhL Block__Description"><span data-key="browser_apis.webgl.description" class="t t-override">WebGL enables web content to use an API based on OpenGL ES 2.0 to perform 2D and 3D rendering in an HTML canvas in browsers that support it without the use of plug-ins.</span></div><div class="Block__Contents"><div class="FeatureExperienceBlock__Row-sc-1rrr2zp-0 hfkBgM"><h4 class="FeatureExperienceBlock__RowYear-sc-1rrr2zp-1 eBigms">2019</h4><div class="ChartContainer__ChartContainerOuter-edfgx0-0 cUpOwA ChartContainerOuter FeatureChart" style="height:40px"><div class="ChartContainer__Container-edfgx0-1 xUamw ChartContainer" style="height:40px"><div class="ChartContainer__ChartContainerInner-edfgx0-2 gpvRnu ChartContainerInner" style="height:40px"><div style="width:100%;height:100%"></div></div></div></div></div><div class="FeatureExperienceBlock__Row-sc-1rrr2zp-0 hfkBgM"><h4 class="FeatureExperienceBlock__RowYear-sc-1rrr2zp-1 eBigms">2020</h4><div class="ChartContainer__ChartContainerOuter-edfgx0-0 cUpOwA ChartContainerOuter FeatureChart" style="height:40px"><div class="ChartContainer__Container-edfgx0-1 xUamw ChartContainer" style="height:40px"><div class="ChartContainer__ChartContainerInner-edfgx0-2 gpvRnu ChartContainerInner" style="height:40px"><div style="width:100%;height:100%"></div></div></div></div></div></div><table class="BlockLegends__Container-x2sx8r-0 eZbJfN Block__Legends"><tbody class="BlockLegends__ContainerInner-x2sx8r-1 dxTlgm"><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#41c7c7" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Have used it</td></tr><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#1d7e7e" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Know about it</td></tr><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#cecdcc" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Never heard of it</td></tr></tbody></table></div><div id="web_animations" class="Block__Container-sc-11g8wz8-0 bglUIQ Block Block--web_animations"><div class="BlockTitle__StyledBlockTitle-nuxb31-2 dAAPyT Block__Title"><div class="BlockTitle__LeftPart-nuxb31-4 iCAAeX"><h3 class="BlockTitle__BlockTitleText-nuxb31-3 iivsMM BlockTitleText"><a class="SharePermalink__Link-ndc8lc-0 gJOVcJ SharePermalink share__link" href="https://2020.stateofjs.com/en-US/features/browser-apis/web_animations" target="_blank" rel="noopener noreferrer" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g id="Filled_Icons_1_"><g id="Filled_Icons"><path d="M14.474,10.232l-0.706-0.706C12.208,7.966,9.67,7.964,8.11,9.525l-4.597,4.597c-1.56,1.56-1.56,4.097,0,5.657 l0.707,0.706c0.756,0.757,1.76,1.173,2.829,1.173c1.068,0,2.072-0.417,2.827-1.172l2.173-2.171c0.391-0.391,0.391-1.024,0-1.414 c-0.391-0.392-1.023-0.392-1.414,0l-2.173,2.17c-0.755,0.756-2.071,0.757-2.828,0l-0.707-0.706c-0.779-0.781-0.779-2.049,0-2.829 l4.597-4.596c0.756-0.756,2.073-0.756,2.828,0l0.707,0.707c0.391,0.391,1.023,0.391,1.414,0 C14.864,11.256,14.864,10.623,14.474,10.232z"></path><path d="M20.486,4.221l-0.707-0.706c-0.756-0.757-1.76-1.173-2.829-1.173c-1.068,0-2.072,0.418-2.827,1.172L12.135,5.5 c-0.391,0.391-0.391,1.024,0,1.414c0.391,0.392,1.023,0.392,1.414,0l1.988-1.984c0.755-0.756,2.071-0.757,2.828,0l0.707,0.706 c0.779,0.78,0.779,2.049,0,2.829l-4.597,4.596c-0.756,0.756-2.073,0.756-2.828,0c-0.391-0.391-1.024-0.391-1.414,0 c-0.391,0.391-0.392,1.023-0.001,1.414c1.56,1.562,4.098,1.562,5.657,0.001l4.597-4.597C22.046,8.319,22.046,5.781,20.486,4.221z"></path></g></g><rect fill="none" width="24" height="24" id="Frames-24px"></rect></svg></a><a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_Animations_API/Using_the_Web_Animations_API">Web Animations</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bHsPNt CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>92.2<!-- -->%</strong> <span>(<!-- -->21912<!-- -->)</span></div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>92.2<!-- -->%</strong> <span>(<!-- -->21912<!-- -->)</span></div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 hNsnqo"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(92.2 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 cJwfmm"></circle></svg></div></h3><div class="Popover__Container-sc-3zqg9-0 fxzssI Popover Popover--bottom _is-closed"><div class="Popover__PopoverInner-sc-3zqg9-1 iFJNkp PopoverInner"><button aria-expanded="false" aria-haspopup="[object Object]" aria-controls="[object Object]" class="Button-tirokp-0 BlockTitle__MoreButton-nuxb31-1 jrlGls jDLsKE Button"><span class="BlockTitle__ScreenReadersHint-nuxb31-0 dbINfu">[en-US] general.more_actions</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" x="0" y="0" viewBox="0 0 24 24"><g><g fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"><circle cx="3" cy="12" r="2.5"></circle><circle cx="12" cy="12" r="2.5"></circle><circle cx="21" cy="12" r="2.5"></circle></g></g><path fill="none" d="M0 0H24V24H0z"></path></svg></button><div class="Popover__PopoverPopup-sc-3zqg9-3 edvQGu PopoverPopup" id="PopoverPopup"><div class="BlockTitle__PopoverContents-nuxb31-7 fNQoWU"><div class="BlockExport__ButtonWrapper-sc-1gwpler-2 hjHqeU BlockExport"><button class="Button-tirokp-0 BlockExport__ExportButton-sc-1gwpler-3 dwxRHq jOWEGs ExportButton Button ExportButton"><span data-key="export.export" class="t">Export</span></button></div><div class="ShareBlock__Container-awxqfs-0 eghido ShareBlock Block__Title__Share"><div class="ShareBlock__ButtonWrapper-awxqfs-1 cAwBhT"><button class="Button-tirokp-0 ShareBlock__ShareButton-awxqfs-2 dwxRHq ShareButton Button ShareButton" aria-haspopup="menu" aria-expanded="false"><span data-key="share.share" class="t">Share</span></button></div><div class="ShareBlock__Popup-awxqfs-4 hnxXLV ShareBlock__Popup"><a href="https://twitter.com/intent/tweet/?text=%23StateOfJS%202020%3A%20Web%20Animations%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fweb_animations" target="_blank" rel="noopener noreferrer" aria-label="Share on Twitter" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--twitter"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M23.444,4.834c-0.814,0.363-1.5,0.375-2.228,0.016c0.938-0.562,0.981-0.957,1.32-2.019c-0.878,0.521-1.851,0.9-2.886,1.104 C18.823,3.053,17.642,2.5,16.335,2.5c-2.51,0-4.544,2.036-4.544,4.544c0,0.356,0.04,0.703,0.117,1.036 C8.132,7.891,4.783,6.082,2.542,3.332C2.151,4.003,1.927,4.784,1.927,5.617c0,1.577,0.803,2.967,2.021,3.782 C3.203,9.375,2.503,9.171,1.891,8.831C1.89,8.85,1.89,8.868,1.89,8.888c0,2.202,1.566,4.038,3.646,4.456 c-0.666,0.181-1.368,0.209-2.053,0.079c0.579,1.804,2.257,3.118,4.245,3.155C5.783,18.102,3.372,18.737,1,18.459 C3.012,19.748,5.399,20.5,7.966,20.5c8.358,0,12.928-6.924,12.928-12.929c0-0.198-0.003-0.393-0.012-0.588 C21.769,6.343,22.835,5.746,23.444,4.834z"></path></svg><span class="sr-only">Share on Twitter</span></a><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fweb_animations" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--facebook"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M18.768,7.465H14.5V5.56c0-0.896,0.594-1.105,1.012-1.105s2.988,0,2.988,0V0.513L14.171,0.5C10.244,0.5,9.5,3.438,9.5,5.32 v2.145h-3v4h3c0,5.212,0,12,0,12h5c0,0,0-6.85,0-12h3.851L18.768,7.465z"></path></svg><span class="sr-only">Share on Facebook</span></a><a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fweb_animations&title=Web Animations&summary=" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--linkedin"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path></svg><span class="sr-only">Share on LinkedIn</span></a><a href="mailto:?subject=State%20of%20JS%202020%20Survey%20Results&body=Here%20are%20some%20interesting%20survey%20results%20(Web%20Animations)%3A%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fweb_animations" target="_self" aria-label="Share by email" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--email"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M22,4H2C0.897,4,0,4.897,0,6v12c0,1.103,0.897,2,2,2h20c1.103,0,2-0.897,2-2V6C24,4.897,23.103,4,22,4z M7.248,14.434 l-3.5,2C3.67,16.479,3.584,16.5,3.5,16.5c-0.174,0-0.342-0.09-0.435-0.252c-0.137-0.239-0.054-0.545,0.186-0.682l3.5-2 c0.24-0.137,0.545-0.054,0.682,0.186C7.571,13.992,7.488,14.297,7.248,14.434z M12,14.5c-0.094,0-0.189-0.026-0.271-0.08l-8.5-5.5 C2.997,8.77,2.93,8.46,3.081,8.229c0.15-0.23,0.459-0.298,0.691-0.147L12,13.405l8.229-5.324c0.232-0.15,0.542-0.084,0.691,0.147 c0.15,0.232,0.083,0.542-0.148,0.691l-8.5,5.5C12.189,14.474,12.095,14.5,12,14.5z M20.934,16.248 C20.842,16.41,20.673,16.5,20.5,16.5c-0.084,0-0.169-0.021-0.248-0.065l-3.5-2c-0.24-0.137-0.323-0.442-0.186-0.682 s0.443-0.322,0.682-0.186l3.5,2C20.988,15.703,21.071,16.009,20.934,16.248z"></path></svg><span class="sr-only">Share by email</span></a><a href="https://stateofx-images.netlify.app/captures/js2020/en-US/web_animations.png" target="_blank" rel="noopener noreferrer" aria-label="Get image" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--image"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M22.486,17.236l1.05-1.458c0.125-0.175,0.125-0.409,0-0.584l-1.049-1.459l1.049-1.458c0.125-0.175,0.125-0.41,0-0.584 l-1.049-1.455l1.049-1.457c0.126-0.174,0.125-0.41,0-0.585l-1.048-1.451l1.049-1.455c0.125-0.175,0.125-0.411,0-0.585 l-1.085-1.506l0.943-1.925c0.094-0.192,0.056-0.423-0.096-0.574c-0.15-0.151-0.381-0.189-0.573-0.096l-1.932,0.945L19.28,0.464 c-0.175-0.126-0.41-0.125-0.583,0l-1.461,1.05l-1.457-1.049c-0.175-0.126-0.41-0.126-0.584,0l-1.459,1.049l-1.457-1.049 c-0.174-0.126-0.41-0.126-0.585,0l-1.455,1.049L8.781,0.465c-0.174-0.126-0.41-0.126-0.585,0L6.745,1.513L5.29,0.465 c-0.175-0.126-0.411-0.126-0.584,0L3.198,1.549L1.273,0.606C1.084,0.514,0.852,0.551,0.7,0.702 c-0.151,0.15-0.19,0.382-0.096,0.573l0.945,1.932L0.464,4.72c-0.125,0.174-0.125,0.41,0,0.583l1.05,1.461l-1.05,1.457 c-0.125,0.174-0.125,0.409,0,0.584l1.049,1.46l-1.049,1.458c-0.125,0.174-0.125,0.41,0,0.584l1.049,1.455L0.464,15.22 c-0.126,0.174-0.125,0.411,0,0.585l1.048,1.452l-1.049,1.454c-0.125,0.175-0.125,0.41,0,0.585l1.085,1.506l-0.943,1.925 c-0.094,0.192-0.056,0.422,0.096,0.574c0.151,0.151,0.383,0.189,0.573,0.095l1.932-0.944l1.513,1.085 c0.174,0.125,0.409,0.125,0.583,0l1.461-1.051l1.457,1.05c0.174,0.126,0.409,0.126,0.584,0l1.459-1.049l1.457,1.049 c0.174,0.126,0.41,0.126,0.585,0l1.455-1.049l1.458,1.049c0.087,0.063,0.189,0.094,0.292,0.094c0.102,0,0.206-0.032,0.293-0.095 l1.451-1.048l1.456,1.049c0.175,0.126,0.411,0.126,0.584,0l1.507-1.084l1.925,0.942c0.192,0.094,0.424,0.056,0.575-0.098 c0.151-0.152,0.188-0.385,0.091-0.577l-0.94-1.865l1.088-1.583c0.119-0.174,0.117-0.404-0.006-0.575L22.486,17.236z M20,19.5 c0,0.276-0.224,0.5-0.5,0.5h-15C4.224,20,4,19.776,4,19.5v-15C4,4.224,4.224,4,4.5,4h15C19.776,4,20,4.224,20,4.5V19.5z"></path><path d="M17.983,17.371l-2.143-8c-0.056-0.208-0.238-0.357-0.453-0.37c-0.222-0.013-0.414,0.113-0.494,0.312l-2.061,5.125 l-1.911-1.569c-0.12-0.099-0.278-0.135-0.43-0.101c-0.151,0.035-0.278,0.14-0.342,0.28l-1.938,4.245 c-0.07,0.155-0.058,0.335,0.035,0.478C8.338,17.914,8.497,18,8.667,18H17.5c0.155,0,0.302-0.072,0.396-0.196 C17.991,17.682,18.023,17.521,17.983,17.371z"></path><circle cx="9" cy="9" r="2.5"></circle></svg><span class="sr-only">Get image</span></a></div></div><div class="BlockTitle__BlockChartControls-nuxb31-6 bcoAoM BlockChartControls"><div class="ButtonGroup-sc-1k32jr0-0 dRuaES"><button class="Button-tirokp-0 dwxRHq Button--selected Button Button--selected"><span data-key="chart_units.percentage" class="t">Percents</span></button><button class="Button-tirokp-0 dwxRHq Button--unselected Button Button--unselected"><span data-key="chart_units.count" class="t">Count</span></button></div></div></div></div></div></div><div class="BlockTitle__BlockTitleActionsWrapper-nuxb31-8 bzxYzw"><div class="BlockExport__ButtonWrapper-sc-1gwpler-2 hjHqeU BlockExport"><button class="Button-tirokp-0 BlockExport__ExportButton-sc-1gwpler-3 dwxRHq jOWEGs ExportButton Button ExportButton"><span data-key="export.export" class="t">Export</span></button></div><div class="ShareBlock__Container-awxqfs-0 eghido ShareBlock Block__Title__Share"><div class="ShareBlock__ButtonWrapper-awxqfs-1 cAwBhT"><button class="Button-tirokp-0 ShareBlock__ShareButton-awxqfs-2 dwxRHq ShareButton Button ShareButton" aria-haspopup="menu" aria-expanded="false"><span data-key="share.share" class="t">Share</span></button></div><div class="ShareBlock__Popup-awxqfs-4 hnxXLV ShareBlock__Popup"><a href="https://twitter.com/intent/tweet/?text=%23StateOfJS%202020%3A%20Web%20Animations%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fweb_animations" target="_blank" rel="noopener noreferrer" aria-label="Share on Twitter" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--twitter"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M23.444,4.834c-0.814,0.363-1.5,0.375-2.228,0.016c0.938-0.562,0.981-0.957,1.32-2.019c-0.878,0.521-1.851,0.9-2.886,1.104 C18.823,3.053,17.642,2.5,16.335,2.5c-2.51,0-4.544,2.036-4.544,4.544c0,0.356,0.04,0.703,0.117,1.036 C8.132,7.891,4.783,6.082,2.542,3.332C2.151,4.003,1.927,4.784,1.927,5.617c0,1.577,0.803,2.967,2.021,3.782 C3.203,9.375,2.503,9.171,1.891,8.831C1.89,8.85,1.89,8.868,1.89,8.888c0,2.202,1.566,4.038,3.646,4.456 c-0.666,0.181-1.368,0.209-2.053,0.079c0.579,1.804,2.257,3.118,4.245,3.155C5.783,18.102,3.372,18.737,1,18.459 C3.012,19.748,5.399,20.5,7.966,20.5c8.358,0,12.928-6.924,12.928-12.929c0-0.198-0.003-0.393-0.012-0.588 C21.769,6.343,22.835,5.746,23.444,4.834z"></path></svg><span class="sr-only">Share on Twitter</span></a><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fweb_animations" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--facebook"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M18.768,7.465H14.5V5.56c0-0.896,0.594-1.105,1.012-1.105s2.988,0,2.988,0V0.513L14.171,0.5C10.244,0.5,9.5,3.438,9.5,5.32 v2.145h-3v4h3c0,5.212,0,12,0,12h5c0,0,0-6.85,0-12h3.851L18.768,7.465z"></path></svg><span class="sr-only">Share on Facebook</span></a><a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fweb_animations&title=Web Animations&summary=" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--linkedin"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path></svg><span class="sr-only">Share on LinkedIn</span></a><a href="mailto:?subject=State%20of%20JS%202020%20Survey%20Results&body=Here%20are%20some%20interesting%20survey%20results%20(Web%20Animations)%3A%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fweb_animations" target="_self" aria-label="Share by email" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--email"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M22,4H2C0.897,4,0,4.897,0,6v12c0,1.103,0.897,2,2,2h20c1.103,0,2-0.897,2-2V6C24,4.897,23.103,4,22,4z M7.248,14.434 l-3.5,2C3.67,16.479,3.584,16.5,3.5,16.5c-0.174,0-0.342-0.09-0.435-0.252c-0.137-0.239-0.054-0.545,0.186-0.682l3.5-2 c0.24-0.137,0.545-0.054,0.682,0.186C7.571,13.992,7.488,14.297,7.248,14.434z M12,14.5c-0.094,0-0.189-0.026-0.271-0.08l-8.5-5.5 C2.997,8.77,2.93,8.46,3.081,8.229c0.15-0.23,0.459-0.298,0.691-0.147L12,13.405l8.229-5.324c0.232-0.15,0.542-0.084,0.691,0.147 c0.15,0.232,0.083,0.542-0.148,0.691l-8.5,5.5C12.189,14.474,12.095,14.5,12,14.5z M20.934,16.248 C20.842,16.41,20.673,16.5,20.5,16.5c-0.084,0-0.169-0.021-0.248-0.065l-3.5-2c-0.24-0.137-0.323-0.442-0.186-0.682 s0.443-0.322,0.682-0.186l3.5,2C20.988,15.703,21.071,16.009,20.934,16.248z"></path></svg><span class="sr-only">Share by email</span></a><a href="https://stateofx-images.netlify.app/captures/js2020/en-US/web_animations.png" target="_blank" rel="noopener noreferrer" aria-label="Get image" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--image"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M22.486,17.236l1.05-1.458c0.125-0.175,0.125-0.409,0-0.584l-1.049-1.459l1.049-1.458c0.125-0.175,0.125-0.41,0-0.584 l-1.049-1.455l1.049-1.457c0.126-0.174,0.125-0.41,0-0.585l-1.048-1.451l1.049-1.455c0.125-0.175,0.125-0.411,0-0.585 l-1.085-1.506l0.943-1.925c0.094-0.192,0.056-0.423-0.096-0.574c-0.15-0.151-0.381-0.189-0.573-0.096l-1.932,0.945L19.28,0.464 c-0.175-0.126-0.41-0.125-0.583,0l-1.461,1.05l-1.457-1.049c-0.175-0.126-0.41-0.126-0.584,0l-1.459,1.049l-1.457-1.049 c-0.174-0.126-0.41-0.126-0.585,0l-1.455,1.049L8.781,0.465c-0.174-0.126-0.41-0.126-0.585,0L6.745,1.513L5.29,0.465 c-0.175-0.126-0.411-0.126-0.584,0L3.198,1.549L1.273,0.606C1.084,0.514,0.852,0.551,0.7,0.702 c-0.151,0.15-0.19,0.382-0.096,0.573l0.945,1.932L0.464,4.72c-0.125,0.174-0.125,0.41,0,0.583l1.05,1.461l-1.05,1.457 c-0.125,0.174-0.125,0.409,0,0.584l1.049,1.46l-1.049,1.458c-0.125,0.174-0.125,0.41,0,0.584l1.049,1.455L0.464,15.22 c-0.126,0.174-0.125,0.411,0,0.585l1.048,1.452l-1.049,1.454c-0.125,0.175-0.125,0.41,0,0.585l1.085,1.506l-0.943,1.925 c-0.094,0.192-0.056,0.422,0.096,0.574c0.151,0.151,0.383,0.189,0.573,0.095l1.932-0.944l1.513,1.085 c0.174,0.125,0.409,0.125,0.583,0l1.461-1.051l1.457,1.05c0.174,0.126,0.409,0.126,0.584,0l1.459-1.049l1.457,1.049 c0.174,0.126,0.41,0.126,0.585,0l1.455-1.049l1.458,1.049c0.087,0.063,0.189,0.094,0.292,0.094c0.102,0,0.206-0.032,0.293-0.095 l1.451-1.048l1.456,1.049c0.175,0.126,0.411,0.126,0.584,0l1.507-1.084l1.925,0.942c0.192,0.094,0.424,0.056,0.575-0.098 c0.151-0.152,0.188-0.385,0.091-0.577l-0.94-1.865l1.088-1.583c0.119-0.174,0.117-0.404-0.006-0.575L22.486,17.236z M20,19.5 c0,0.276-0.224,0.5-0.5,0.5h-15C4.224,20,4,19.776,4,19.5v-15C4,4.224,4.224,4,4.5,4h15C19.776,4,20,4.224,20,4.5V19.5z"></path><path d="M17.983,17.371l-2.143-8c-0.056-0.208-0.238-0.357-0.453-0.37c-0.222-0.013-0.414,0.113-0.494,0.312l-2.061,5.125 l-1.911-1.569c-0.12-0.099-0.278-0.135-0.43-0.101c-0.151,0.035-0.278,0.14-0.342,0.28l-1.938,4.245 c-0.07,0.155-0.058,0.335,0.035,0.478C8.338,17.914,8.497,18,8.667,18H17.5c0.155,0,0.302-0.072,0.396-0.196 C17.991,17.682,18.023,17.521,17.983,17.371z"></path><circle cx="9" cy="9" r="2.5"></circle></svg><span class="sr-only">Get image</span></a></div></div></div></div><div class="BlockTitle__BlockTitleSwitcherWrapper-nuxb31-9 aNaBd"><div class="BlockTitle__BlockChartControls-nuxb31-6 bcoAoM BlockChartControls"><div class="ButtonGroup-sc-1k32jr0-0 dRuaES"><button class="Button-tirokp-0 dwxRHq Button--selected Button Button--selected"><span data-key="chart_units.percentage" class="t">Percents</span></button><button class="Button-tirokp-0 dwxRHq Button--unselected Button Button--unselected"><span data-key="chart_units.count" class="t">Count</span></button></div></div></div></div><div class="BlockTitle__Description-nuxb31-5 hmJkhL Block__Description"><span data-key="browser_apis.web_animations.description" class="t t-override">The Web Animations API lets us construct animations and control their playback with JavaScript. This article will start you off in the right direction with fun demos and tutorials featuring Alice in Wonderland.</span></div><div class="Block__Contents"><div class="FeatureExperienceBlock__Row-sc-1rrr2zp-0 hfkBgM"><h4 class="FeatureExperienceBlock__RowYear-sc-1rrr2zp-1 eBigms">2019</h4><div class="ChartContainer__ChartContainerOuter-edfgx0-0 cUpOwA ChartContainerOuter FeatureChart" style="height:40px"><div class="ChartContainer__Container-edfgx0-1 xUamw ChartContainer" style="height:40px"><div class="ChartContainer__ChartContainerInner-edfgx0-2 gpvRnu ChartContainerInner" style="height:40px"><div style="width:100%;height:100%"></div></div></div></div></div><div class="FeatureExperienceBlock__Row-sc-1rrr2zp-0 hfkBgM"><h4 class="FeatureExperienceBlock__RowYear-sc-1rrr2zp-1 eBigms">2020</h4><div class="ChartContainer__ChartContainerOuter-edfgx0-0 cUpOwA ChartContainerOuter FeatureChart" style="height:40px"><div class="ChartContainer__Container-edfgx0-1 xUamw ChartContainer" style="height:40px"><div class="ChartContainer__ChartContainerInner-edfgx0-2 gpvRnu ChartContainerInner" style="height:40px"><div style="width:100%;height:100%"></div></div></div></div></div></div><table class="BlockLegends__Container-x2sx8r-0 eZbJfN Block__Legends"><tbody class="BlockLegends__ContainerInner-x2sx8r-1 dxTlgm"><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#41c7c7" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Have used it</td></tr><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#1d7e7e" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Know about it</td></tr><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#cecdcc" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Never heard of it</td></tr></tbody></table></div><div id="webrtc" class="Block__Container-sc-11g8wz8-0 bglUIQ Block Block--webrtc"><div class="BlockTitle__StyledBlockTitle-nuxb31-2 dAAPyT Block__Title"><div class="BlockTitle__LeftPart-nuxb31-4 iCAAeX"><h3 class="BlockTitle__BlockTitleText-nuxb31-3 iivsMM BlockTitleText"><a class="SharePermalink__Link-ndc8lc-0 gJOVcJ SharePermalink share__link" href="https://2020.stateofjs.com/en-US/features/browser-apis/webrtc" target="_blank" rel="noopener noreferrer" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g id="Filled_Icons_1_"><g id="Filled_Icons"><path d="M14.474,10.232l-0.706-0.706C12.208,7.966,9.67,7.964,8.11,9.525l-4.597,4.597c-1.56,1.56-1.56,4.097,0,5.657 l0.707,0.706c0.756,0.757,1.76,1.173,2.829,1.173c1.068,0,2.072-0.417,2.827-1.172l2.173-2.171c0.391-0.391,0.391-1.024,0-1.414 c-0.391-0.392-1.023-0.392-1.414,0l-2.173,2.17c-0.755,0.756-2.071,0.757-2.828,0l-0.707-0.706c-0.779-0.781-0.779-2.049,0-2.829 l4.597-4.596c0.756-0.756,2.073-0.756,2.828,0l0.707,0.707c0.391,0.391,1.023,0.391,1.414,0 C14.864,11.256,14.864,10.623,14.474,10.232z"></path><path d="M20.486,4.221l-0.707-0.706c-0.756-0.757-1.76-1.173-2.829-1.173c-1.068,0-2.072,0.418-2.827,1.172L12.135,5.5 c-0.391,0.391-0.391,1.024,0,1.414c0.391,0.392,1.023,0.392,1.414,0l1.988-1.984c0.755-0.756,2.071-0.757,2.828,0l0.707,0.706 c0.779,0.78,0.779,2.049,0,2.829l-4.597,4.596c-0.756,0.756-2.073,0.756-2.828,0c-0.391-0.391-1.024-0.391-1.414,0 c-0.391,0.391-0.392,1.023-0.001,1.414c1.56,1.562,4.098,1.562,5.657,0.001l4.597-4.597C22.046,8.319,22.046,5.781,20.486,4.221z"></path></g></g><rect fill="none" width="24" height="24" id="Frames-24px"></rect></svg></a><a href="https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API">WebRTC</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bHsPNt CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>92.1<!-- -->%</strong> <span>(<!-- -->21880<!-- -->)</span></div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>92.1<!-- -->%</strong> <span>(<!-- -->21880<!-- -->)</span></div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 hNsnqo"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(92.1 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 cJwfmm"></circle></svg></div></h3><div class="Popover__Container-sc-3zqg9-0 fxzssI Popover Popover--bottom _is-closed"><div class="Popover__PopoverInner-sc-3zqg9-1 iFJNkp PopoverInner"><button aria-expanded="false" aria-haspopup="[object Object]" aria-controls="[object Object]" class="Button-tirokp-0 BlockTitle__MoreButton-nuxb31-1 jrlGls jDLsKE Button"><span class="BlockTitle__ScreenReadersHint-nuxb31-0 dbINfu">[en-US] general.more_actions</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" x="0" y="0" viewBox="0 0 24 24"><g><g fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"><circle cx="3" cy="12" r="2.5"></circle><circle cx="12" cy="12" r="2.5"></circle><circle cx="21" cy="12" r="2.5"></circle></g></g><path fill="none" d="M0 0H24V24H0z"></path></svg></button><div class="Popover__PopoverPopup-sc-3zqg9-3 edvQGu PopoverPopup" id="PopoverPopup"><div class="BlockTitle__PopoverContents-nuxb31-7 fNQoWU"><div class="BlockExport__ButtonWrapper-sc-1gwpler-2 hjHqeU BlockExport"><button class="Button-tirokp-0 BlockExport__ExportButton-sc-1gwpler-3 dwxRHq jOWEGs ExportButton Button ExportButton"><span data-key="export.export" class="t">Export</span></button></div><div class="ShareBlock__Container-awxqfs-0 eghido ShareBlock Block__Title__Share"><div class="ShareBlock__ButtonWrapper-awxqfs-1 cAwBhT"><button class="Button-tirokp-0 ShareBlock__ShareButton-awxqfs-2 dwxRHq ShareButton Button ShareButton" aria-haspopup="menu" aria-expanded="false"><span data-key="share.share" class="t">Share</span></button></div><div class="ShareBlock__Popup-awxqfs-4 hnxXLV ShareBlock__Popup"><a href="https://twitter.com/intent/tweet/?text=%23StateOfJS%202020%3A%20WebRTC%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fwebrtc" target="_blank" rel="noopener noreferrer" aria-label="Share on Twitter" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--twitter"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M23.444,4.834c-0.814,0.363-1.5,0.375-2.228,0.016c0.938-0.562,0.981-0.957,1.32-2.019c-0.878,0.521-1.851,0.9-2.886,1.104 C18.823,3.053,17.642,2.5,16.335,2.5c-2.51,0-4.544,2.036-4.544,4.544c0,0.356,0.04,0.703,0.117,1.036 C8.132,7.891,4.783,6.082,2.542,3.332C2.151,4.003,1.927,4.784,1.927,5.617c0,1.577,0.803,2.967,2.021,3.782 C3.203,9.375,2.503,9.171,1.891,8.831C1.89,8.85,1.89,8.868,1.89,8.888c0,2.202,1.566,4.038,3.646,4.456 c-0.666,0.181-1.368,0.209-2.053,0.079c0.579,1.804,2.257,3.118,4.245,3.155C5.783,18.102,3.372,18.737,1,18.459 C3.012,19.748,5.399,20.5,7.966,20.5c8.358,0,12.928-6.924,12.928-12.929c0-0.198-0.003-0.393-0.012-0.588 C21.769,6.343,22.835,5.746,23.444,4.834z"></path></svg><span class="sr-only">Share on Twitter</span></a><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fwebrtc" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--facebook"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M18.768,7.465H14.5V5.56c0-0.896,0.594-1.105,1.012-1.105s2.988,0,2.988,0V0.513L14.171,0.5C10.244,0.5,9.5,3.438,9.5,5.32 v2.145h-3v4h3c0,5.212,0,12,0,12h5c0,0,0-6.85,0-12h3.851L18.768,7.465z"></path></svg><span class="sr-only">Share on Facebook</span></a><a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fwebrtc&title=WebRTC&summary=" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--linkedin"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path></svg><span class="sr-only">Share on LinkedIn</span></a><a href="mailto:?subject=State%20of%20JS%202020%20Survey%20Results&body=Here%20are%20some%20interesting%20survey%20results%20(WebRTC)%3A%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fwebrtc" target="_self" aria-label="Share by email" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--email"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M22,4H2C0.897,4,0,4.897,0,6v12c0,1.103,0.897,2,2,2h20c1.103,0,2-0.897,2-2V6C24,4.897,23.103,4,22,4z M7.248,14.434 l-3.5,2C3.67,16.479,3.584,16.5,3.5,16.5c-0.174,0-0.342-0.09-0.435-0.252c-0.137-0.239-0.054-0.545,0.186-0.682l3.5-2 c0.24-0.137,0.545-0.054,0.682,0.186C7.571,13.992,7.488,14.297,7.248,14.434z M12,14.5c-0.094,0-0.189-0.026-0.271-0.08l-8.5-5.5 C2.997,8.77,2.93,8.46,3.081,8.229c0.15-0.23,0.459-0.298,0.691-0.147L12,13.405l8.229-5.324c0.232-0.15,0.542-0.084,0.691,0.147 c0.15,0.232,0.083,0.542-0.148,0.691l-8.5,5.5C12.189,14.474,12.095,14.5,12,14.5z M20.934,16.248 C20.842,16.41,20.673,16.5,20.5,16.5c-0.084,0-0.169-0.021-0.248-0.065l-3.5-2c-0.24-0.137-0.323-0.442-0.186-0.682 s0.443-0.322,0.682-0.186l3.5,2C20.988,15.703,21.071,16.009,20.934,16.248z"></path></svg><span class="sr-only">Share by email</span></a><a href="https://stateofx-images.netlify.app/captures/js2020/en-US/webrtc.png" target="_blank" rel="noopener noreferrer" aria-label="Get image" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--image"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M22.486,17.236l1.05-1.458c0.125-0.175,0.125-0.409,0-0.584l-1.049-1.459l1.049-1.458c0.125-0.175,0.125-0.41,0-0.584 l-1.049-1.455l1.049-1.457c0.126-0.174,0.125-0.41,0-0.585l-1.048-1.451l1.049-1.455c0.125-0.175,0.125-0.411,0-0.585 l-1.085-1.506l0.943-1.925c0.094-0.192,0.056-0.423-0.096-0.574c-0.15-0.151-0.381-0.189-0.573-0.096l-1.932,0.945L19.28,0.464 c-0.175-0.126-0.41-0.125-0.583,0l-1.461,1.05l-1.457-1.049c-0.175-0.126-0.41-0.126-0.584,0l-1.459,1.049l-1.457-1.049 c-0.174-0.126-0.41-0.126-0.585,0l-1.455,1.049L8.781,0.465c-0.174-0.126-0.41-0.126-0.585,0L6.745,1.513L5.29,0.465 c-0.175-0.126-0.411-0.126-0.584,0L3.198,1.549L1.273,0.606C1.084,0.514,0.852,0.551,0.7,0.702 c-0.151,0.15-0.19,0.382-0.096,0.573l0.945,1.932L0.464,4.72c-0.125,0.174-0.125,0.41,0,0.583l1.05,1.461l-1.05,1.457 c-0.125,0.174-0.125,0.409,0,0.584l1.049,1.46l-1.049,1.458c-0.125,0.174-0.125,0.41,0,0.584l1.049,1.455L0.464,15.22 c-0.126,0.174-0.125,0.411,0,0.585l1.048,1.452l-1.049,1.454c-0.125,0.175-0.125,0.41,0,0.585l1.085,1.506l-0.943,1.925 c-0.094,0.192-0.056,0.422,0.096,0.574c0.151,0.151,0.383,0.189,0.573,0.095l1.932-0.944l1.513,1.085 c0.174,0.125,0.409,0.125,0.583,0l1.461-1.051l1.457,1.05c0.174,0.126,0.409,0.126,0.584,0l1.459-1.049l1.457,1.049 c0.174,0.126,0.41,0.126,0.585,0l1.455-1.049l1.458,1.049c0.087,0.063,0.189,0.094,0.292,0.094c0.102,0,0.206-0.032,0.293-0.095 l1.451-1.048l1.456,1.049c0.175,0.126,0.411,0.126,0.584,0l1.507-1.084l1.925,0.942c0.192,0.094,0.424,0.056,0.575-0.098 c0.151-0.152,0.188-0.385,0.091-0.577l-0.94-1.865l1.088-1.583c0.119-0.174,0.117-0.404-0.006-0.575L22.486,17.236z M20,19.5 c0,0.276-0.224,0.5-0.5,0.5h-15C4.224,20,4,19.776,4,19.5v-15C4,4.224,4.224,4,4.5,4h15C19.776,4,20,4.224,20,4.5V19.5z"></path><path d="M17.983,17.371l-2.143-8c-0.056-0.208-0.238-0.357-0.453-0.37c-0.222-0.013-0.414,0.113-0.494,0.312l-2.061,5.125 l-1.911-1.569c-0.12-0.099-0.278-0.135-0.43-0.101c-0.151,0.035-0.278,0.14-0.342,0.28l-1.938,4.245 c-0.07,0.155-0.058,0.335,0.035,0.478C8.338,17.914,8.497,18,8.667,18H17.5c0.155,0,0.302-0.072,0.396-0.196 C17.991,17.682,18.023,17.521,17.983,17.371z"></path><circle cx="9" cy="9" r="2.5"></circle></svg><span class="sr-only">Get image</span></a></div></div><div class="BlockTitle__BlockChartControls-nuxb31-6 bcoAoM BlockChartControls"><div class="ButtonGroup-sc-1k32jr0-0 dRuaES"><button class="Button-tirokp-0 dwxRHq Button--selected Button Button--selected"><span data-key="chart_units.percentage" class="t">Percents</span></button><button class="Button-tirokp-0 dwxRHq Button--unselected Button Button--unselected"><span data-key="chart_units.count" class="t">Count</span></button></div></div></div></div></div></div><div class="BlockTitle__BlockTitleActionsWrapper-nuxb31-8 bzxYzw"><div class="BlockExport__ButtonWrapper-sc-1gwpler-2 hjHqeU BlockExport"><button class="Button-tirokp-0 BlockExport__ExportButton-sc-1gwpler-3 dwxRHq jOWEGs ExportButton Button ExportButton"><span data-key="export.export" class="t">Export</span></button></div><div class="ShareBlock__Container-awxqfs-0 eghido ShareBlock Block__Title__Share"><div class="ShareBlock__ButtonWrapper-awxqfs-1 cAwBhT"><button class="Button-tirokp-0 ShareBlock__ShareButton-awxqfs-2 dwxRHq ShareButton Button ShareButton" aria-haspopup="menu" aria-expanded="false"><span data-key="share.share" class="t">Share</span></button></div><div class="ShareBlock__Popup-awxqfs-4 hnxXLV ShareBlock__Popup"><a href="https://twitter.com/intent/tweet/?text=%23StateOfJS%202020%3A%20WebRTC%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fwebrtc" target="_blank" rel="noopener noreferrer" aria-label="Share on Twitter" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--twitter"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M23.444,4.834c-0.814,0.363-1.5,0.375-2.228,0.016c0.938-0.562,0.981-0.957,1.32-2.019c-0.878,0.521-1.851,0.9-2.886,1.104 C18.823,3.053,17.642,2.5,16.335,2.5c-2.51,0-4.544,2.036-4.544,4.544c0,0.356,0.04,0.703,0.117,1.036 C8.132,7.891,4.783,6.082,2.542,3.332C2.151,4.003,1.927,4.784,1.927,5.617c0,1.577,0.803,2.967,2.021,3.782 C3.203,9.375,2.503,9.171,1.891,8.831C1.89,8.85,1.89,8.868,1.89,8.888c0,2.202,1.566,4.038,3.646,4.456 c-0.666,0.181-1.368,0.209-2.053,0.079c0.579,1.804,2.257,3.118,4.245,3.155C5.783,18.102,3.372,18.737,1,18.459 C3.012,19.748,5.399,20.5,7.966,20.5c8.358,0,12.928-6.924,12.928-12.929c0-0.198-0.003-0.393-0.012-0.588 C21.769,6.343,22.835,5.746,23.444,4.834z"></path></svg><span class="sr-only">Share on Twitter</span></a><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fwebrtc" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--facebook"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M18.768,7.465H14.5V5.56c0-0.896,0.594-1.105,1.012-1.105s2.988,0,2.988,0V0.513L14.171,0.5C10.244,0.5,9.5,3.438,9.5,5.32 v2.145h-3v4h3c0,5.212,0,12,0,12h5c0,0,0-6.85,0-12h3.851L18.768,7.465z"></path></svg><span class="sr-only">Share on Facebook</span></a><a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fwebrtc&title=WebRTC&summary=" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--linkedin"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path></svg><span class="sr-only">Share on LinkedIn</span></a><a href="mailto:?subject=State%20of%20JS%202020%20Survey%20Results&body=Here%20are%20some%20interesting%20survey%20results%20(WebRTC)%3A%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fwebrtc" target="_self" aria-label="Share by email" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--email"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M22,4H2C0.897,4,0,4.897,0,6v12c0,1.103,0.897,2,2,2h20c1.103,0,2-0.897,2-2V6C24,4.897,23.103,4,22,4z M7.248,14.434 l-3.5,2C3.67,16.479,3.584,16.5,3.5,16.5c-0.174,0-0.342-0.09-0.435-0.252c-0.137-0.239-0.054-0.545,0.186-0.682l3.5-2 c0.24-0.137,0.545-0.054,0.682,0.186C7.571,13.992,7.488,14.297,7.248,14.434z M12,14.5c-0.094,0-0.189-0.026-0.271-0.08l-8.5-5.5 C2.997,8.77,2.93,8.46,3.081,8.229c0.15-0.23,0.459-0.298,0.691-0.147L12,13.405l8.229-5.324c0.232-0.15,0.542-0.084,0.691,0.147 c0.15,0.232,0.083,0.542-0.148,0.691l-8.5,5.5C12.189,14.474,12.095,14.5,12,14.5z M20.934,16.248 C20.842,16.41,20.673,16.5,20.5,16.5c-0.084,0-0.169-0.021-0.248-0.065l-3.5-2c-0.24-0.137-0.323-0.442-0.186-0.682 s0.443-0.322,0.682-0.186l3.5,2C20.988,15.703,21.071,16.009,20.934,16.248z"></path></svg><span class="sr-only">Share by email</span></a><a href="https://stateofx-images.netlify.app/captures/js2020/en-US/webrtc.png" target="_blank" rel="noopener noreferrer" aria-label="Get image" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--image"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M22.486,17.236l1.05-1.458c0.125-0.175,0.125-0.409,0-0.584l-1.049-1.459l1.049-1.458c0.125-0.175,0.125-0.41,0-0.584 l-1.049-1.455l1.049-1.457c0.126-0.174,0.125-0.41,0-0.585l-1.048-1.451l1.049-1.455c0.125-0.175,0.125-0.411,0-0.585 l-1.085-1.506l0.943-1.925c0.094-0.192,0.056-0.423-0.096-0.574c-0.15-0.151-0.381-0.189-0.573-0.096l-1.932,0.945L19.28,0.464 c-0.175-0.126-0.41-0.125-0.583,0l-1.461,1.05l-1.457-1.049c-0.175-0.126-0.41-0.126-0.584,0l-1.459,1.049l-1.457-1.049 c-0.174-0.126-0.41-0.126-0.585,0l-1.455,1.049L8.781,0.465c-0.174-0.126-0.41-0.126-0.585,0L6.745,1.513L5.29,0.465 c-0.175-0.126-0.411-0.126-0.584,0L3.198,1.549L1.273,0.606C1.084,0.514,0.852,0.551,0.7,0.702 c-0.151,0.15-0.19,0.382-0.096,0.573l0.945,1.932L0.464,4.72c-0.125,0.174-0.125,0.41,0,0.583l1.05,1.461l-1.05,1.457 c-0.125,0.174-0.125,0.409,0,0.584l1.049,1.46l-1.049,1.458c-0.125,0.174-0.125,0.41,0,0.584l1.049,1.455L0.464,15.22 c-0.126,0.174-0.125,0.411,0,0.585l1.048,1.452l-1.049,1.454c-0.125,0.175-0.125,0.41,0,0.585l1.085,1.506l-0.943,1.925 c-0.094,0.192-0.056,0.422,0.096,0.574c0.151,0.151,0.383,0.189,0.573,0.095l1.932-0.944l1.513,1.085 c0.174,0.125,0.409,0.125,0.583,0l1.461-1.051l1.457,1.05c0.174,0.126,0.409,0.126,0.584,0l1.459-1.049l1.457,1.049 c0.174,0.126,0.41,0.126,0.585,0l1.455-1.049l1.458,1.049c0.087,0.063,0.189,0.094,0.292,0.094c0.102,0,0.206-0.032,0.293-0.095 l1.451-1.048l1.456,1.049c0.175,0.126,0.411,0.126,0.584,0l1.507-1.084l1.925,0.942c0.192,0.094,0.424,0.056,0.575-0.098 c0.151-0.152,0.188-0.385,0.091-0.577l-0.94-1.865l1.088-1.583c0.119-0.174,0.117-0.404-0.006-0.575L22.486,17.236z M20,19.5 c0,0.276-0.224,0.5-0.5,0.5h-15C4.224,20,4,19.776,4,19.5v-15C4,4.224,4.224,4,4.5,4h15C19.776,4,20,4.224,20,4.5V19.5z"></path><path d="M17.983,17.371l-2.143-8c-0.056-0.208-0.238-0.357-0.453-0.37c-0.222-0.013-0.414,0.113-0.494,0.312l-2.061,5.125 l-1.911-1.569c-0.12-0.099-0.278-0.135-0.43-0.101c-0.151,0.035-0.278,0.14-0.342,0.28l-1.938,4.245 c-0.07,0.155-0.058,0.335,0.035,0.478C8.338,17.914,8.497,18,8.667,18H17.5c0.155,0,0.302-0.072,0.396-0.196 C17.991,17.682,18.023,17.521,17.983,17.371z"></path><circle cx="9" cy="9" r="2.5"></circle></svg><span class="sr-only">Get image</span></a></div></div></div></div><div class="BlockTitle__BlockTitleSwitcherWrapper-nuxb31-9 aNaBd"><div class="BlockTitle__BlockChartControls-nuxb31-6 bcoAoM BlockChartControls"><div class="ButtonGroup-sc-1k32jr0-0 dRuaES"><button class="Button-tirokp-0 dwxRHq Button--selected Button Button--selected"><span data-key="chart_units.percentage" class="t">Percents</span></button><button class="Button-tirokp-0 dwxRHq Button--unselected Button Button--unselected"><span data-key="chart_units.count" class="t">Count</span></button></div></div></div></div><div class="BlockTitle__Description-nuxb31-5 hmJkhL Block__Description"><span data-key="browser_apis.webrtc.description" class="t t-override">WebRTC (Web Real-Time Communication) is a technology that enables Web applications and sites to capture and optionally stream audio and/or video media, as well as to exchange arbitrary data between browsers without requiring an intermediary. The set of standards that comprise WebRTC makes it possible to share data and perform teleconferencing peer-to-peer, without requiring that the user install plug-ins or any other third-party software.</span></div><div class="Block__Contents"><div class="FeatureExperienceBlock__Row-sc-1rrr2zp-0 hfkBgM"><h4 class="FeatureExperienceBlock__RowYear-sc-1rrr2zp-1 eBigms">2019</h4><div class="ChartContainer__ChartContainerOuter-edfgx0-0 cUpOwA ChartContainerOuter FeatureChart" style="height:40px"><div class="ChartContainer__Container-edfgx0-1 xUamw ChartContainer" style="height:40px"><div class="ChartContainer__ChartContainerInner-edfgx0-2 gpvRnu ChartContainerInner" style="height:40px"><div style="width:100%;height:100%"></div></div></div></div></div><div class="FeatureExperienceBlock__Row-sc-1rrr2zp-0 hfkBgM"><h4 class="FeatureExperienceBlock__RowYear-sc-1rrr2zp-1 eBigms">2020</h4><div class="ChartContainer__ChartContainerOuter-edfgx0-0 cUpOwA ChartContainerOuter FeatureChart" style="height:40px"><div class="ChartContainer__Container-edfgx0-1 xUamw ChartContainer" style="height:40px"><div class="ChartContainer__ChartContainerInner-edfgx0-2 gpvRnu ChartContainerInner" style="height:40px"><div style="width:100%;height:100%"></div></div></div></div></div></div><table class="BlockLegends__Container-x2sx8r-0 eZbJfN Block__Legends"><tbody class="BlockLegends__ContainerInner-x2sx8r-1 dxTlgm"><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#41c7c7" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Have used it</td></tr><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#1d7e7e" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Know about it</td></tr><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#cecdcc" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Never heard of it</td></tr></tbody></table></div><div class="PicksBlock__PicksContainer-sc-1gvg25p-0 cYuaXP Block"><div class="PicksBlock__PicksIntroMobile-sc-1gvg25p-6 fDFspd">We asked members of the JavaScript community to share their “pick of the year”</div><div class="pick"><div class="PicksBlock__Pick-sc-1gvg25p-1 cdOtqu"><div class="PicksBlock__PickContentWrapper-sc-1gvg25p-2 cCluWS"><div class="PicksBlock__PickContent-sc-1gvg25p-3 bLKAGu"><h3 class="PicksBlock__PickTitle-sc-1gvg25p-4 lbqpCO"><span>My 2020 Pick: </span><a href="https://svelte.dev/">Svelte</a></h3><div class="PicksBlock__Description-sc-1gvg25p-5 cfLpek"><p>Svelte is the Space Elevator of frontend frameworks. It helps you ship apps extremely fast. </p></div></div><div class="PicksBlock__PicksIntro-sc-1gvg25p-7 dKNzCY">We asked members of the JavaScript community to share their “pick of the year”</div></div><div class="PicksBlock__PickPerson-sc-1gvg25p-8 hvSaKz"><div class="PicksBlock__PickImage-sc-1gvg25p-9 jDSoMn"><div><a href="https://twitter.com/swyx" style="background-image:url(/images/picks/swyx.jpg)" title="Shawn Wang">Shawn Wang</a></div></div><div class="PicksBlock__PickCredit-sc-1gvg25p-10 bhRhhm"><h4 class="PicksBlock__PickName-sc-1gvg25p-11 bcsAFx"><a href="https://twitter.com/swyx">Shawn Wang</a></h4><div class="PicksBlock__PickBio-sc-1gvg25p-12 fahdyF">Infinite Builder</div></div></div></div></div></div><div id="web_speech" class="Block__Container-sc-11g8wz8-0 bglUIQ Block Block--web_speech"><div class="BlockTitle__StyledBlockTitle-nuxb31-2 dAAPyT Block__Title"><div class="BlockTitle__LeftPart-nuxb31-4 iCAAeX"><h3 class="BlockTitle__BlockTitleText-nuxb31-3 iivsMM BlockTitleText"><a class="SharePermalink__Link-ndc8lc-0 gJOVcJ SharePermalink share__link" href="https://2020.stateofjs.com/en-US/features/browser-apis/web_speech" target="_blank" rel="noopener noreferrer" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g id="Filled_Icons_1_"><g id="Filled_Icons"><path d="M14.474,10.232l-0.706-0.706C12.208,7.966,9.67,7.964,8.11,9.525l-4.597,4.597c-1.56,1.56-1.56,4.097,0,5.657 l0.707,0.706c0.756,0.757,1.76,1.173,2.829,1.173c1.068,0,2.072-0.417,2.827-1.172l2.173-2.171c0.391-0.391,0.391-1.024,0-1.414 c-0.391-0.392-1.023-0.392-1.414,0l-2.173,2.17c-0.755,0.756-2.071,0.757-2.828,0l-0.707-0.706c-0.779-0.781-0.779-2.049,0-2.829 l4.597-4.596c0.756-0.756,2.073-0.756,2.828,0l0.707,0.707c0.391,0.391,1.023,0.391,1.414,0 C14.864,11.256,14.864,10.623,14.474,10.232z"></path><path d="M20.486,4.221l-0.707-0.706c-0.756-0.757-1.76-1.173-2.829-1.173c-1.068,0-2.072,0.418-2.827,1.172L12.135,5.5 c-0.391,0.391-0.391,1.024,0,1.414c0.391,0.392,1.023,0.392,1.414,0l1.988-1.984c0.755-0.756,2.071-0.757,2.828,0l0.707,0.706 c0.779,0.78,0.779,2.049,0,2.829l-4.597,4.596c-0.756,0.756-2.073,0.756-2.828,0c-0.391-0.391-1.024-0.391-1.414,0 c-0.391,0.391-0.392,1.023-0.001,1.414c1.56,1.562,4.098,1.562,5.657,0.001l4.597-4.597C22.046,8.319,22.046,5.781,20.486,4.221z"></path></g></g><rect fill="none" width="24" height="24" id="Frames-24px"></rect></svg></a><a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_Speech_API">Web Speech API</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bHsPNt CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>92.1<!-- -->%</strong> <span>(<!-- -->21883<!-- -->)</span></div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>92.1<!-- -->%</strong> <span>(<!-- -->21883<!-- -->)</span></div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 hNsnqo"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(92.1 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 cJwfmm"></circle></svg></div></h3><div class="Popover__Container-sc-3zqg9-0 fxzssI Popover Popover--bottom _is-closed"><div class="Popover__PopoverInner-sc-3zqg9-1 iFJNkp PopoverInner"><button aria-expanded="false" aria-haspopup="[object Object]" aria-controls="[object Object]" class="Button-tirokp-0 BlockTitle__MoreButton-nuxb31-1 jrlGls jDLsKE Button"><span class="BlockTitle__ScreenReadersHint-nuxb31-0 dbINfu">[en-US] general.more_actions</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" x="0" y="0" viewBox="0 0 24 24"><g><g fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"><circle cx="3" cy="12" r="2.5"></circle><circle cx="12" cy="12" r="2.5"></circle><circle cx="21" cy="12" r="2.5"></circle></g></g><path fill="none" d="M0 0H24V24H0z"></path></svg></button><div class="Popover__PopoverPopup-sc-3zqg9-3 edvQGu PopoverPopup" id="PopoverPopup"><div class="BlockTitle__PopoverContents-nuxb31-7 fNQoWU"><div class="BlockExport__ButtonWrapper-sc-1gwpler-2 hjHqeU BlockExport"><button class="Button-tirokp-0 BlockExport__ExportButton-sc-1gwpler-3 dwxRHq jOWEGs ExportButton Button ExportButton"><span data-key="export.export" class="t">Export</span></button></div><div class="ShareBlock__Container-awxqfs-0 eghido ShareBlock Block__Title__Share"><div class="ShareBlock__ButtonWrapper-awxqfs-1 cAwBhT"><button class="Button-tirokp-0 ShareBlock__ShareButton-awxqfs-2 dwxRHq ShareButton Button ShareButton" aria-haspopup="menu" aria-expanded="false"><span data-key="share.share" class="t">Share</span></button></div><div class="ShareBlock__Popup-awxqfs-4 hnxXLV ShareBlock__Popup"><a href="https://twitter.com/intent/tweet/?text=%23StateOfJS%202020%3A%20Web%20Speech%20API%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fweb_speech" target="_blank" rel="noopener noreferrer" aria-label="Share on Twitter" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--twitter"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M23.444,4.834c-0.814,0.363-1.5,0.375-2.228,0.016c0.938-0.562,0.981-0.957,1.32-2.019c-0.878,0.521-1.851,0.9-2.886,1.104 C18.823,3.053,17.642,2.5,16.335,2.5c-2.51,0-4.544,2.036-4.544,4.544c0,0.356,0.04,0.703,0.117,1.036 C8.132,7.891,4.783,6.082,2.542,3.332C2.151,4.003,1.927,4.784,1.927,5.617c0,1.577,0.803,2.967,2.021,3.782 C3.203,9.375,2.503,9.171,1.891,8.831C1.89,8.85,1.89,8.868,1.89,8.888c0,2.202,1.566,4.038,3.646,4.456 c-0.666,0.181-1.368,0.209-2.053,0.079c0.579,1.804,2.257,3.118,4.245,3.155C5.783,18.102,3.372,18.737,1,18.459 C3.012,19.748,5.399,20.5,7.966,20.5c8.358,0,12.928-6.924,12.928-12.929c0-0.198-0.003-0.393-0.012-0.588 C21.769,6.343,22.835,5.746,23.444,4.834z"></path></svg><span class="sr-only">Share on Twitter</span></a><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fweb_speech" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--facebook"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M18.768,7.465H14.5V5.56c0-0.896,0.594-1.105,1.012-1.105s2.988,0,2.988,0V0.513L14.171,0.5C10.244,0.5,9.5,3.438,9.5,5.32 v2.145h-3v4h3c0,5.212,0,12,0,12h5c0,0,0-6.85,0-12h3.851L18.768,7.465z"></path></svg><span class="sr-only">Share on Facebook</span></a><a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fweb_speech&title=Web Speech API&summary=" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--linkedin"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path></svg><span class="sr-only">Share on LinkedIn</span></a><a href="mailto:?subject=State%20of%20JS%202020%20Survey%20Results&body=Here%20are%20some%20interesting%20survey%20results%20(Web%20Speech%20API)%3A%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fweb_speech" target="_self" aria-label="Share by email" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--email"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M22,4H2C0.897,4,0,4.897,0,6v12c0,1.103,0.897,2,2,2h20c1.103,0,2-0.897,2-2V6C24,4.897,23.103,4,22,4z M7.248,14.434 l-3.5,2C3.67,16.479,3.584,16.5,3.5,16.5c-0.174,0-0.342-0.09-0.435-0.252c-0.137-0.239-0.054-0.545,0.186-0.682l3.5-2 c0.24-0.137,0.545-0.054,0.682,0.186C7.571,13.992,7.488,14.297,7.248,14.434z M12,14.5c-0.094,0-0.189-0.026-0.271-0.08l-8.5-5.5 C2.997,8.77,2.93,8.46,3.081,8.229c0.15-0.23,0.459-0.298,0.691-0.147L12,13.405l8.229-5.324c0.232-0.15,0.542-0.084,0.691,0.147 c0.15,0.232,0.083,0.542-0.148,0.691l-8.5,5.5C12.189,14.474,12.095,14.5,12,14.5z M20.934,16.248 C20.842,16.41,20.673,16.5,20.5,16.5c-0.084,0-0.169-0.021-0.248-0.065l-3.5-2c-0.24-0.137-0.323-0.442-0.186-0.682 s0.443-0.322,0.682-0.186l3.5,2C20.988,15.703,21.071,16.009,20.934,16.248z"></path></svg><span class="sr-only">Share by email</span></a><a href="https://stateofx-images.netlify.app/captures/js2020/en-US/web_speech.png" target="_blank" rel="noopener noreferrer" aria-label="Get image" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--image"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M22.486,17.236l1.05-1.458c0.125-0.175,0.125-0.409,0-0.584l-1.049-1.459l1.049-1.458c0.125-0.175,0.125-0.41,0-0.584 l-1.049-1.455l1.049-1.457c0.126-0.174,0.125-0.41,0-0.585l-1.048-1.451l1.049-1.455c0.125-0.175,0.125-0.411,0-0.585 l-1.085-1.506l0.943-1.925c0.094-0.192,0.056-0.423-0.096-0.574c-0.15-0.151-0.381-0.189-0.573-0.096l-1.932,0.945L19.28,0.464 c-0.175-0.126-0.41-0.125-0.583,0l-1.461,1.05l-1.457-1.049c-0.175-0.126-0.41-0.126-0.584,0l-1.459,1.049l-1.457-1.049 c-0.174-0.126-0.41-0.126-0.585,0l-1.455,1.049L8.781,0.465c-0.174-0.126-0.41-0.126-0.585,0L6.745,1.513L5.29,0.465 c-0.175-0.126-0.411-0.126-0.584,0L3.198,1.549L1.273,0.606C1.084,0.514,0.852,0.551,0.7,0.702 c-0.151,0.15-0.19,0.382-0.096,0.573l0.945,1.932L0.464,4.72c-0.125,0.174-0.125,0.41,0,0.583l1.05,1.461l-1.05,1.457 c-0.125,0.174-0.125,0.409,0,0.584l1.049,1.46l-1.049,1.458c-0.125,0.174-0.125,0.41,0,0.584l1.049,1.455L0.464,15.22 c-0.126,0.174-0.125,0.411,0,0.585l1.048,1.452l-1.049,1.454c-0.125,0.175-0.125,0.41,0,0.585l1.085,1.506l-0.943,1.925 c-0.094,0.192-0.056,0.422,0.096,0.574c0.151,0.151,0.383,0.189,0.573,0.095l1.932-0.944l1.513,1.085 c0.174,0.125,0.409,0.125,0.583,0l1.461-1.051l1.457,1.05c0.174,0.126,0.409,0.126,0.584,0l1.459-1.049l1.457,1.049 c0.174,0.126,0.41,0.126,0.585,0l1.455-1.049l1.458,1.049c0.087,0.063,0.189,0.094,0.292,0.094c0.102,0,0.206-0.032,0.293-0.095 l1.451-1.048l1.456,1.049c0.175,0.126,0.411,0.126,0.584,0l1.507-1.084l1.925,0.942c0.192,0.094,0.424,0.056,0.575-0.098 c0.151-0.152,0.188-0.385,0.091-0.577l-0.94-1.865l1.088-1.583c0.119-0.174,0.117-0.404-0.006-0.575L22.486,17.236z M20,19.5 c0,0.276-0.224,0.5-0.5,0.5h-15C4.224,20,4,19.776,4,19.5v-15C4,4.224,4.224,4,4.5,4h15C19.776,4,20,4.224,20,4.5V19.5z"></path><path d="M17.983,17.371l-2.143-8c-0.056-0.208-0.238-0.357-0.453-0.37c-0.222-0.013-0.414,0.113-0.494,0.312l-2.061,5.125 l-1.911-1.569c-0.12-0.099-0.278-0.135-0.43-0.101c-0.151,0.035-0.278,0.14-0.342,0.28l-1.938,4.245 c-0.07,0.155-0.058,0.335,0.035,0.478C8.338,17.914,8.497,18,8.667,18H17.5c0.155,0,0.302-0.072,0.396-0.196 C17.991,17.682,18.023,17.521,17.983,17.371z"></path><circle cx="9" cy="9" r="2.5"></circle></svg><span class="sr-only">Get image</span></a></div></div><div class="BlockTitle__BlockChartControls-nuxb31-6 bcoAoM BlockChartControls"><div class="ButtonGroup-sc-1k32jr0-0 dRuaES"><button class="Button-tirokp-0 dwxRHq Button--selected Button Button--selected"><span data-key="chart_units.percentage" class="t">Percents</span></button><button class="Button-tirokp-0 dwxRHq Button--unselected Button Button--unselected"><span data-key="chart_units.count" class="t">Count</span></button></div></div></div></div></div></div><div class="BlockTitle__BlockTitleActionsWrapper-nuxb31-8 bzxYzw"><div class="BlockExport__ButtonWrapper-sc-1gwpler-2 hjHqeU BlockExport"><button class="Button-tirokp-0 BlockExport__ExportButton-sc-1gwpler-3 dwxRHq jOWEGs ExportButton Button ExportButton"><span data-key="export.export" class="t">Export</span></button></div><div class="ShareBlock__Container-awxqfs-0 eghido ShareBlock Block__Title__Share"><div class="ShareBlock__ButtonWrapper-awxqfs-1 cAwBhT"><button class="Button-tirokp-0 ShareBlock__ShareButton-awxqfs-2 dwxRHq ShareButton Button ShareButton" aria-haspopup="menu" aria-expanded="false"><span data-key="share.share" class="t">Share</span></button></div><div class="ShareBlock__Popup-awxqfs-4 hnxXLV ShareBlock__Popup"><a href="https://twitter.com/intent/tweet/?text=%23StateOfJS%202020%3A%20Web%20Speech%20API%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fweb_speech" target="_blank" rel="noopener noreferrer" aria-label="Share on Twitter" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--twitter"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M23.444,4.834c-0.814,0.363-1.5,0.375-2.228,0.016c0.938-0.562,0.981-0.957,1.32-2.019c-0.878,0.521-1.851,0.9-2.886,1.104 C18.823,3.053,17.642,2.5,16.335,2.5c-2.51,0-4.544,2.036-4.544,4.544c0,0.356,0.04,0.703,0.117,1.036 C8.132,7.891,4.783,6.082,2.542,3.332C2.151,4.003,1.927,4.784,1.927,5.617c0,1.577,0.803,2.967,2.021,3.782 C3.203,9.375,2.503,9.171,1.891,8.831C1.89,8.85,1.89,8.868,1.89,8.888c0,2.202,1.566,4.038,3.646,4.456 c-0.666,0.181-1.368,0.209-2.053,0.079c0.579,1.804,2.257,3.118,4.245,3.155C5.783,18.102,3.372,18.737,1,18.459 C3.012,19.748,5.399,20.5,7.966,20.5c8.358,0,12.928-6.924,12.928-12.929c0-0.198-0.003-0.393-0.012-0.588 C21.769,6.343,22.835,5.746,23.444,4.834z"></path></svg><span class="sr-only">Share on Twitter</span></a><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fweb_speech" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--facebook"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M18.768,7.465H14.5V5.56c0-0.896,0.594-1.105,1.012-1.105s2.988,0,2.988,0V0.513L14.171,0.5C10.244,0.5,9.5,3.438,9.5,5.32 v2.145h-3v4h3c0,5.212,0,12,0,12h5c0,0,0-6.85,0-12h3.851L18.768,7.465z"></path></svg><span class="sr-only">Share on Facebook</span></a><a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fweb_speech&title=Web Speech API&summary=" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--linkedin"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path></svg><span class="sr-only">Share on LinkedIn</span></a><a href="mailto:?subject=State%20of%20JS%202020%20Survey%20Results&body=Here%20are%20some%20interesting%20survey%20results%20(Web%20Speech%20API)%3A%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fweb_speech" target="_self" aria-label="Share by email" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--email"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M22,4H2C0.897,4,0,4.897,0,6v12c0,1.103,0.897,2,2,2h20c1.103,0,2-0.897,2-2V6C24,4.897,23.103,4,22,4z M7.248,14.434 l-3.5,2C3.67,16.479,3.584,16.5,3.5,16.5c-0.174,0-0.342-0.09-0.435-0.252c-0.137-0.239-0.054-0.545,0.186-0.682l3.5-2 c0.24-0.137,0.545-0.054,0.682,0.186C7.571,13.992,7.488,14.297,7.248,14.434z M12,14.5c-0.094,0-0.189-0.026-0.271-0.08l-8.5-5.5 C2.997,8.77,2.93,8.46,3.081,8.229c0.15-0.23,0.459-0.298,0.691-0.147L12,13.405l8.229-5.324c0.232-0.15,0.542-0.084,0.691,0.147 c0.15,0.232,0.083,0.542-0.148,0.691l-8.5,5.5C12.189,14.474,12.095,14.5,12,14.5z M20.934,16.248 C20.842,16.41,20.673,16.5,20.5,16.5c-0.084,0-0.169-0.021-0.248-0.065l-3.5-2c-0.24-0.137-0.323-0.442-0.186-0.682 s0.443-0.322,0.682-0.186l3.5,2C20.988,15.703,21.071,16.009,20.934,16.248z"></path></svg><span class="sr-only">Share by email</span></a><a href="https://stateofx-images.netlify.app/captures/js2020/en-US/web_speech.png" target="_blank" rel="noopener noreferrer" aria-label="Get image" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--image"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M22.486,17.236l1.05-1.458c0.125-0.175,0.125-0.409,0-0.584l-1.049-1.459l1.049-1.458c0.125-0.175,0.125-0.41,0-0.584 l-1.049-1.455l1.049-1.457c0.126-0.174,0.125-0.41,0-0.585l-1.048-1.451l1.049-1.455c0.125-0.175,0.125-0.411,0-0.585 l-1.085-1.506l0.943-1.925c0.094-0.192,0.056-0.423-0.096-0.574c-0.15-0.151-0.381-0.189-0.573-0.096l-1.932,0.945L19.28,0.464 c-0.175-0.126-0.41-0.125-0.583,0l-1.461,1.05l-1.457-1.049c-0.175-0.126-0.41-0.126-0.584,0l-1.459,1.049l-1.457-1.049 c-0.174-0.126-0.41-0.126-0.585,0l-1.455,1.049L8.781,0.465c-0.174-0.126-0.41-0.126-0.585,0L6.745,1.513L5.29,0.465 c-0.175-0.126-0.411-0.126-0.584,0L3.198,1.549L1.273,0.606C1.084,0.514,0.852,0.551,0.7,0.702 c-0.151,0.15-0.19,0.382-0.096,0.573l0.945,1.932L0.464,4.72c-0.125,0.174-0.125,0.41,0,0.583l1.05,1.461l-1.05,1.457 c-0.125,0.174-0.125,0.409,0,0.584l1.049,1.46l-1.049,1.458c-0.125,0.174-0.125,0.41,0,0.584l1.049,1.455L0.464,15.22 c-0.126,0.174-0.125,0.411,0,0.585l1.048,1.452l-1.049,1.454c-0.125,0.175-0.125,0.41,0,0.585l1.085,1.506l-0.943,1.925 c-0.094,0.192-0.056,0.422,0.096,0.574c0.151,0.151,0.383,0.189,0.573,0.095l1.932-0.944l1.513,1.085 c0.174,0.125,0.409,0.125,0.583,0l1.461-1.051l1.457,1.05c0.174,0.126,0.409,0.126,0.584,0l1.459-1.049l1.457,1.049 c0.174,0.126,0.41,0.126,0.585,0l1.455-1.049l1.458,1.049c0.087,0.063,0.189,0.094,0.292,0.094c0.102,0,0.206-0.032,0.293-0.095 l1.451-1.048l1.456,1.049c0.175,0.126,0.411,0.126,0.584,0l1.507-1.084l1.925,0.942c0.192,0.094,0.424,0.056,0.575-0.098 c0.151-0.152,0.188-0.385,0.091-0.577l-0.94-1.865l1.088-1.583c0.119-0.174,0.117-0.404-0.006-0.575L22.486,17.236z M20,19.5 c0,0.276-0.224,0.5-0.5,0.5h-15C4.224,20,4,19.776,4,19.5v-15C4,4.224,4.224,4,4.5,4h15C19.776,4,20,4.224,20,4.5V19.5z"></path><path d="M17.983,17.371l-2.143-8c-0.056-0.208-0.238-0.357-0.453-0.37c-0.222-0.013-0.414,0.113-0.494,0.312l-2.061,5.125 l-1.911-1.569c-0.12-0.099-0.278-0.135-0.43-0.101c-0.151,0.035-0.278,0.14-0.342,0.28l-1.938,4.245 c-0.07,0.155-0.058,0.335,0.035,0.478C8.338,17.914,8.497,18,8.667,18H17.5c0.155,0,0.302-0.072,0.396-0.196 C17.991,17.682,18.023,17.521,17.983,17.371z"></path><circle cx="9" cy="9" r="2.5"></circle></svg><span class="sr-only">Get image</span></a></div></div></div></div><div class="BlockTitle__BlockTitleSwitcherWrapper-nuxb31-9 aNaBd"><div class="BlockTitle__BlockChartControls-nuxb31-6 bcoAoM BlockChartControls"><div class="ButtonGroup-sc-1k32jr0-0 dRuaES"><button class="Button-tirokp-0 dwxRHq Button--selected Button Button--selected"><span data-key="chart_units.percentage" class="t">Percents</span></button><button class="Button-tirokp-0 dwxRHq Button--unselected Button Button--unselected"><span data-key="chart_units.count" class="t">Count</span></button></div></div></div></div><div class="BlockTitle__Description-nuxb31-5 hmJkhL Block__Description"><span data-key="browser_apis.web_speech.description" class="t t-override">The Web Speech API enables you to incorporate voice data into web apps. The Web Speech API has two parts: SpeechSynthesis (Text-to-Speech), and SpeechRecognition (Asynchronous Speech Recognition.)</span></div><div class="Block__Contents"><div class="FeatureExperienceBlock__Row-sc-1rrr2zp-0 hfkBgM"><h4 class="FeatureExperienceBlock__RowYear-sc-1rrr2zp-1 eBigms">2019</h4><div class="ChartContainer__ChartContainerOuter-edfgx0-0 cUpOwA ChartContainerOuter FeatureChart" style="height:40px"><div class="ChartContainer__Container-edfgx0-1 xUamw ChartContainer" style="height:40px"><div class="ChartContainer__ChartContainerInner-edfgx0-2 gpvRnu ChartContainerInner" style="height:40px"><div style="width:100%;height:100%"></div></div></div></div></div><div class="FeatureExperienceBlock__Row-sc-1rrr2zp-0 hfkBgM"><h4 class="FeatureExperienceBlock__RowYear-sc-1rrr2zp-1 eBigms">2020</h4><div class="ChartContainer__ChartContainerOuter-edfgx0-0 cUpOwA ChartContainerOuter FeatureChart" style="height:40px"><div class="ChartContainer__Container-edfgx0-1 xUamw ChartContainer" style="height:40px"><div class="ChartContainer__ChartContainerInner-edfgx0-2 gpvRnu ChartContainerInner" style="height:40px"><div style="width:100%;height:100%"></div></div></div></div></div></div><table class="BlockLegends__Container-x2sx8r-0 eZbJfN Block__Legends"><tbody class="BlockLegends__ContainerInner-x2sx8r-1 dxTlgm"><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#41c7c7" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Have used it</td></tr><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#1d7e7e" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Know about it</td></tr><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#cecdcc" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Never heard of it</td></tr></tbody></table></div><div id="webvr" class="Block__Container-sc-11g8wz8-0 bglUIQ Block Block--webvr"><div class="BlockTitle__StyledBlockTitle-nuxb31-2 dAAPyT Block__Title"><div class="BlockTitle__LeftPart-nuxb31-4 iCAAeX"><h3 class="BlockTitle__BlockTitleText-nuxb31-3 iivsMM BlockTitleText"><a class="SharePermalink__Link-ndc8lc-0 gJOVcJ SharePermalink share__link" href="https://2020.stateofjs.com/en-US/features/browser-apis/webvr" target="_blank" rel="noopener noreferrer" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g id="Filled_Icons_1_"><g id="Filled_Icons"><path d="M14.474,10.232l-0.706-0.706C12.208,7.966,9.67,7.964,8.11,9.525l-4.597,4.597c-1.56,1.56-1.56,4.097,0,5.657 l0.707,0.706c0.756,0.757,1.76,1.173,2.829,1.173c1.068,0,2.072-0.417,2.827-1.172l2.173-2.171c0.391-0.391,0.391-1.024,0-1.414 c-0.391-0.392-1.023-0.392-1.414,0l-2.173,2.17c-0.755,0.756-2.071,0.757-2.828,0l-0.707-0.706c-0.779-0.781-0.779-2.049,0-2.829 l4.597-4.596c0.756-0.756,2.073-0.756,2.828,0l0.707,0.707c0.391,0.391,1.023,0.391,1.414,0 C14.864,11.256,14.864,10.623,14.474,10.232z"></path><path d="M20.486,4.221l-0.707-0.706c-0.756-0.757-1.76-1.173-2.829-1.173c-1.068,0-2.072,0.418-2.827,1.172L12.135,5.5 c-0.391,0.391-0.391,1.024,0,1.414c0.391,0.392,1.023,0.392,1.414,0l1.988-1.984c0.755-0.756,2.071-0.757,2.828,0l0.707,0.706 c0.779,0.78,0.779,2.049,0,2.829l-4.597,4.596c-0.756,0.756-2.073,0.756-2.828,0c-0.391-0.391-1.024-0.391-1.414,0 c-0.391,0.391-0.392,1.023-0.001,1.414c1.56,1.562,4.098,1.562,5.657,0.001l4.597-4.597C22.046,8.319,22.046,5.781,20.486,4.221z"></path></g></g><rect fill="none" width="24" height="24" id="Frames-24px"></rect></svg></a><a href="https://developer.mozilla.org/en-US/docs/Web/API/WebVR_API">WebVR</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bHsPNt CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>92.1<!-- -->%</strong> <span>(<!-- -->21893<!-- -->)</span></div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>92.1<!-- -->%</strong> <span>(<!-- -->21893<!-- -->)</span></div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 hNsnqo"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(92.1 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 cJwfmm"></circle></svg></div></h3><div class="Popover__Container-sc-3zqg9-0 fxzssI Popover Popover--bottom _is-closed"><div class="Popover__PopoverInner-sc-3zqg9-1 iFJNkp PopoverInner"><button aria-expanded="false" aria-haspopup="[object Object]" aria-controls="[object Object]" class="Button-tirokp-0 BlockTitle__MoreButton-nuxb31-1 jrlGls jDLsKE Button"><span class="BlockTitle__ScreenReadersHint-nuxb31-0 dbINfu">[en-US] general.more_actions</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" x="0" y="0" viewBox="0 0 24 24"><g><g fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"><circle cx="3" cy="12" r="2.5"></circle><circle cx="12" cy="12" r="2.5"></circle><circle cx="21" cy="12" r="2.5"></circle></g></g><path fill="none" d="M0 0H24V24H0z"></path></svg></button><div class="Popover__PopoverPopup-sc-3zqg9-3 edvQGu PopoverPopup" id="PopoverPopup"><div class="BlockTitle__PopoverContents-nuxb31-7 fNQoWU"><div class="BlockExport__ButtonWrapper-sc-1gwpler-2 hjHqeU BlockExport"><button class="Button-tirokp-0 BlockExport__ExportButton-sc-1gwpler-3 dwxRHq jOWEGs ExportButton Button ExportButton"><span data-key="export.export" class="t">Export</span></button></div><div class="ShareBlock__Container-awxqfs-0 eghido ShareBlock Block__Title__Share"><div class="ShareBlock__ButtonWrapper-awxqfs-1 cAwBhT"><button class="Button-tirokp-0 ShareBlock__ShareButton-awxqfs-2 dwxRHq ShareButton Button ShareButton" aria-haspopup="menu" aria-expanded="false"><span data-key="share.share" class="t">Share</span></button></div><div class="ShareBlock__Popup-awxqfs-4 hnxXLV ShareBlock__Popup"><a href="https://twitter.com/intent/tweet/?text=%23StateOfJS%202020%3A%20WebVR%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fwebvr" target="_blank" rel="noopener noreferrer" aria-label="Share on Twitter" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--twitter"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M23.444,4.834c-0.814,0.363-1.5,0.375-2.228,0.016c0.938-0.562,0.981-0.957,1.32-2.019c-0.878,0.521-1.851,0.9-2.886,1.104 C18.823,3.053,17.642,2.5,16.335,2.5c-2.51,0-4.544,2.036-4.544,4.544c0,0.356,0.04,0.703,0.117,1.036 C8.132,7.891,4.783,6.082,2.542,3.332C2.151,4.003,1.927,4.784,1.927,5.617c0,1.577,0.803,2.967,2.021,3.782 C3.203,9.375,2.503,9.171,1.891,8.831C1.89,8.85,1.89,8.868,1.89,8.888c0,2.202,1.566,4.038,3.646,4.456 c-0.666,0.181-1.368,0.209-2.053,0.079c0.579,1.804,2.257,3.118,4.245,3.155C5.783,18.102,3.372,18.737,1,18.459 C3.012,19.748,5.399,20.5,7.966,20.5c8.358,0,12.928-6.924,12.928-12.929c0-0.198-0.003-0.393-0.012-0.588 C21.769,6.343,22.835,5.746,23.444,4.834z"></path></svg><span class="sr-only">Share on Twitter</span></a><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fwebvr" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--facebook"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M18.768,7.465H14.5V5.56c0-0.896,0.594-1.105,1.012-1.105s2.988,0,2.988,0V0.513L14.171,0.5C10.244,0.5,9.5,3.438,9.5,5.32 v2.145h-3v4h3c0,5.212,0,12,0,12h5c0,0,0-6.85,0-12h3.851L18.768,7.465z"></path></svg><span class="sr-only">Share on Facebook</span></a><a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fwebvr&title=WebVR&summary=" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--linkedin"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path></svg><span class="sr-only">Share on LinkedIn</span></a><a href="mailto:?subject=State%20of%20JS%202020%20Survey%20Results&body=Here%20are%20some%20interesting%20survey%20results%20(WebVR)%3A%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fwebvr" target="_self" aria-label="Share by email" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--email"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M22,4H2C0.897,4,0,4.897,0,6v12c0,1.103,0.897,2,2,2h20c1.103,0,2-0.897,2-2V6C24,4.897,23.103,4,22,4z M7.248,14.434 l-3.5,2C3.67,16.479,3.584,16.5,3.5,16.5c-0.174,0-0.342-0.09-0.435-0.252c-0.137-0.239-0.054-0.545,0.186-0.682l3.5-2 c0.24-0.137,0.545-0.054,0.682,0.186C7.571,13.992,7.488,14.297,7.248,14.434z M12,14.5c-0.094,0-0.189-0.026-0.271-0.08l-8.5-5.5 C2.997,8.77,2.93,8.46,3.081,8.229c0.15-0.23,0.459-0.298,0.691-0.147L12,13.405l8.229-5.324c0.232-0.15,0.542-0.084,0.691,0.147 c0.15,0.232,0.083,0.542-0.148,0.691l-8.5,5.5C12.189,14.474,12.095,14.5,12,14.5z M20.934,16.248 C20.842,16.41,20.673,16.5,20.5,16.5c-0.084,0-0.169-0.021-0.248-0.065l-3.5-2c-0.24-0.137-0.323-0.442-0.186-0.682 s0.443-0.322,0.682-0.186l3.5,2C20.988,15.703,21.071,16.009,20.934,16.248z"></path></svg><span class="sr-only">Share by email</span></a><a href="https://stateofx-images.netlify.app/captures/js2020/en-US/webvr.png" target="_blank" rel="noopener noreferrer" aria-label="Get image" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--image"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M22.486,17.236l1.05-1.458c0.125-0.175,0.125-0.409,0-0.584l-1.049-1.459l1.049-1.458c0.125-0.175,0.125-0.41,0-0.584 l-1.049-1.455l1.049-1.457c0.126-0.174,0.125-0.41,0-0.585l-1.048-1.451l1.049-1.455c0.125-0.175,0.125-0.411,0-0.585 l-1.085-1.506l0.943-1.925c0.094-0.192,0.056-0.423-0.096-0.574c-0.15-0.151-0.381-0.189-0.573-0.096l-1.932,0.945L19.28,0.464 c-0.175-0.126-0.41-0.125-0.583,0l-1.461,1.05l-1.457-1.049c-0.175-0.126-0.41-0.126-0.584,0l-1.459,1.049l-1.457-1.049 c-0.174-0.126-0.41-0.126-0.585,0l-1.455,1.049L8.781,0.465c-0.174-0.126-0.41-0.126-0.585,0L6.745,1.513L5.29,0.465 c-0.175-0.126-0.411-0.126-0.584,0L3.198,1.549L1.273,0.606C1.084,0.514,0.852,0.551,0.7,0.702 c-0.151,0.15-0.19,0.382-0.096,0.573l0.945,1.932L0.464,4.72c-0.125,0.174-0.125,0.41,0,0.583l1.05,1.461l-1.05,1.457 c-0.125,0.174-0.125,0.409,0,0.584l1.049,1.46l-1.049,1.458c-0.125,0.174-0.125,0.41,0,0.584l1.049,1.455L0.464,15.22 c-0.126,0.174-0.125,0.411,0,0.585l1.048,1.452l-1.049,1.454c-0.125,0.175-0.125,0.41,0,0.585l1.085,1.506l-0.943,1.925 c-0.094,0.192-0.056,0.422,0.096,0.574c0.151,0.151,0.383,0.189,0.573,0.095l1.932-0.944l1.513,1.085 c0.174,0.125,0.409,0.125,0.583,0l1.461-1.051l1.457,1.05c0.174,0.126,0.409,0.126,0.584,0l1.459-1.049l1.457,1.049 c0.174,0.126,0.41,0.126,0.585,0l1.455-1.049l1.458,1.049c0.087,0.063,0.189,0.094,0.292,0.094c0.102,0,0.206-0.032,0.293-0.095 l1.451-1.048l1.456,1.049c0.175,0.126,0.411,0.126,0.584,0l1.507-1.084l1.925,0.942c0.192,0.094,0.424,0.056,0.575-0.098 c0.151-0.152,0.188-0.385,0.091-0.577l-0.94-1.865l1.088-1.583c0.119-0.174,0.117-0.404-0.006-0.575L22.486,17.236z M20,19.5 c0,0.276-0.224,0.5-0.5,0.5h-15C4.224,20,4,19.776,4,19.5v-15C4,4.224,4.224,4,4.5,4h15C19.776,4,20,4.224,20,4.5V19.5z"></path><path d="M17.983,17.371l-2.143-8c-0.056-0.208-0.238-0.357-0.453-0.37c-0.222-0.013-0.414,0.113-0.494,0.312l-2.061,5.125 l-1.911-1.569c-0.12-0.099-0.278-0.135-0.43-0.101c-0.151,0.035-0.278,0.14-0.342,0.28l-1.938,4.245 c-0.07,0.155-0.058,0.335,0.035,0.478C8.338,17.914,8.497,18,8.667,18H17.5c0.155,0,0.302-0.072,0.396-0.196 C17.991,17.682,18.023,17.521,17.983,17.371z"></path><circle cx="9" cy="9" r="2.5"></circle></svg><span class="sr-only">Get image</span></a></div></div><div class="BlockTitle__BlockChartControls-nuxb31-6 bcoAoM BlockChartControls"><div class="ButtonGroup-sc-1k32jr0-0 dRuaES"><button class="Button-tirokp-0 dwxRHq Button--selected Button Button--selected"><span data-key="chart_units.percentage" class="t">Percents</span></button><button class="Button-tirokp-0 dwxRHq Button--unselected Button Button--unselected"><span data-key="chart_units.count" class="t">Count</span></button></div></div></div></div></div></div><div class="BlockTitle__BlockTitleActionsWrapper-nuxb31-8 bzxYzw"><div class="BlockExport__ButtonWrapper-sc-1gwpler-2 hjHqeU BlockExport"><button class="Button-tirokp-0 BlockExport__ExportButton-sc-1gwpler-3 dwxRHq jOWEGs ExportButton Button ExportButton"><span data-key="export.export" class="t">Export</span></button></div><div class="ShareBlock__Container-awxqfs-0 eghido ShareBlock Block__Title__Share"><div class="ShareBlock__ButtonWrapper-awxqfs-1 cAwBhT"><button class="Button-tirokp-0 ShareBlock__ShareButton-awxqfs-2 dwxRHq ShareButton Button ShareButton" aria-haspopup="menu" aria-expanded="false"><span data-key="share.share" class="t">Share</span></button></div><div class="ShareBlock__Popup-awxqfs-4 hnxXLV ShareBlock__Popup"><a href="https://twitter.com/intent/tweet/?text=%23StateOfJS%202020%3A%20WebVR%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fwebvr" target="_blank" rel="noopener noreferrer" aria-label="Share on Twitter" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--twitter"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M23.444,4.834c-0.814,0.363-1.5,0.375-2.228,0.016c0.938-0.562,0.981-0.957,1.32-2.019c-0.878,0.521-1.851,0.9-2.886,1.104 C18.823,3.053,17.642,2.5,16.335,2.5c-2.51,0-4.544,2.036-4.544,4.544c0,0.356,0.04,0.703,0.117,1.036 C8.132,7.891,4.783,6.082,2.542,3.332C2.151,4.003,1.927,4.784,1.927,5.617c0,1.577,0.803,2.967,2.021,3.782 C3.203,9.375,2.503,9.171,1.891,8.831C1.89,8.85,1.89,8.868,1.89,8.888c0,2.202,1.566,4.038,3.646,4.456 c-0.666,0.181-1.368,0.209-2.053,0.079c0.579,1.804,2.257,3.118,4.245,3.155C5.783,18.102,3.372,18.737,1,18.459 C3.012,19.748,5.399,20.5,7.966,20.5c8.358,0,12.928-6.924,12.928-12.929c0-0.198-0.003-0.393-0.012-0.588 C21.769,6.343,22.835,5.746,23.444,4.834z"></path></svg><span class="sr-only">Share on Twitter</span></a><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fwebvr" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--facebook"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M18.768,7.465H14.5V5.56c0-0.896,0.594-1.105,1.012-1.105s2.988,0,2.988,0V0.513L14.171,0.5C10.244,0.5,9.5,3.438,9.5,5.32 v2.145h-3v4h3c0,5.212,0,12,0,12h5c0,0,0-6.85,0-12h3.851L18.768,7.465z"></path></svg><span class="sr-only">Share on Facebook</span></a><a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fwebvr&title=WebVR&summary=" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--linkedin"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path></svg><span class="sr-only">Share on LinkedIn</span></a><a href="mailto:?subject=State%20of%20JS%202020%20Survey%20Results&body=Here%20are%20some%20interesting%20survey%20results%20(WebVR)%3A%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fwebvr" target="_self" aria-label="Share by email" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--email"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M22,4H2C0.897,4,0,4.897,0,6v12c0,1.103,0.897,2,2,2h20c1.103,0,2-0.897,2-2V6C24,4.897,23.103,4,22,4z M7.248,14.434 l-3.5,2C3.67,16.479,3.584,16.5,3.5,16.5c-0.174,0-0.342-0.09-0.435-0.252c-0.137-0.239-0.054-0.545,0.186-0.682l3.5-2 c0.24-0.137,0.545-0.054,0.682,0.186C7.571,13.992,7.488,14.297,7.248,14.434z M12,14.5c-0.094,0-0.189-0.026-0.271-0.08l-8.5-5.5 C2.997,8.77,2.93,8.46,3.081,8.229c0.15-0.23,0.459-0.298,0.691-0.147L12,13.405l8.229-5.324c0.232-0.15,0.542-0.084,0.691,0.147 c0.15,0.232,0.083,0.542-0.148,0.691l-8.5,5.5C12.189,14.474,12.095,14.5,12,14.5z M20.934,16.248 C20.842,16.41,20.673,16.5,20.5,16.5c-0.084,0-0.169-0.021-0.248-0.065l-3.5-2c-0.24-0.137-0.323-0.442-0.186-0.682 s0.443-0.322,0.682-0.186l3.5,2C20.988,15.703,21.071,16.009,20.934,16.248z"></path></svg><span class="sr-only">Share by email</span></a><a href="https://stateofx-images.netlify.app/captures/js2020/en-US/webvr.png" target="_blank" rel="noopener noreferrer" aria-label="Get image" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--image"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M22.486,17.236l1.05-1.458c0.125-0.175,0.125-0.409,0-0.584l-1.049-1.459l1.049-1.458c0.125-0.175,0.125-0.41,0-0.584 l-1.049-1.455l1.049-1.457c0.126-0.174,0.125-0.41,0-0.585l-1.048-1.451l1.049-1.455c0.125-0.175,0.125-0.411,0-0.585 l-1.085-1.506l0.943-1.925c0.094-0.192,0.056-0.423-0.096-0.574c-0.15-0.151-0.381-0.189-0.573-0.096l-1.932,0.945L19.28,0.464 c-0.175-0.126-0.41-0.125-0.583,0l-1.461,1.05l-1.457-1.049c-0.175-0.126-0.41-0.126-0.584,0l-1.459,1.049l-1.457-1.049 c-0.174-0.126-0.41-0.126-0.585,0l-1.455,1.049L8.781,0.465c-0.174-0.126-0.41-0.126-0.585,0L6.745,1.513L5.29,0.465 c-0.175-0.126-0.411-0.126-0.584,0L3.198,1.549L1.273,0.606C1.084,0.514,0.852,0.551,0.7,0.702 c-0.151,0.15-0.19,0.382-0.096,0.573l0.945,1.932L0.464,4.72c-0.125,0.174-0.125,0.41,0,0.583l1.05,1.461l-1.05,1.457 c-0.125,0.174-0.125,0.409,0,0.584l1.049,1.46l-1.049,1.458c-0.125,0.174-0.125,0.41,0,0.584l1.049,1.455L0.464,15.22 c-0.126,0.174-0.125,0.411,0,0.585l1.048,1.452l-1.049,1.454c-0.125,0.175-0.125,0.41,0,0.585l1.085,1.506l-0.943,1.925 c-0.094,0.192-0.056,0.422,0.096,0.574c0.151,0.151,0.383,0.189,0.573,0.095l1.932-0.944l1.513,1.085 c0.174,0.125,0.409,0.125,0.583,0l1.461-1.051l1.457,1.05c0.174,0.126,0.409,0.126,0.584,0l1.459-1.049l1.457,1.049 c0.174,0.126,0.41,0.126,0.585,0l1.455-1.049l1.458,1.049c0.087,0.063,0.189,0.094,0.292,0.094c0.102,0,0.206-0.032,0.293-0.095 l1.451-1.048l1.456,1.049c0.175,0.126,0.411,0.126,0.584,0l1.507-1.084l1.925,0.942c0.192,0.094,0.424,0.056,0.575-0.098 c0.151-0.152,0.188-0.385,0.091-0.577l-0.94-1.865l1.088-1.583c0.119-0.174,0.117-0.404-0.006-0.575L22.486,17.236z M20,19.5 c0,0.276-0.224,0.5-0.5,0.5h-15C4.224,20,4,19.776,4,19.5v-15C4,4.224,4.224,4,4.5,4h15C19.776,4,20,4.224,20,4.5V19.5z"></path><path d="M17.983,17.371l-2.143-8c-0.056-0.208-0.238-0.357-0.453-0.37c-0.222-0.013-0.414,0.113-0.494,0.312l-2.061,5.125 l-1.911-1.569c-0.12-0.099-0.278-0.135-0.43-0.101c-0.151,0.035-0.278,0.14-0.342,0.28l-1.938,4.245 c-0.07,0.155-0.058,0.335,0.035,0.478C8.338,17.914,8.497,18,8.667,18H17.5c0.155,0,0.302-0.072,0.396-0.196 C17.991,17.682,18.023,17.521,17.983,17.371z"></path><circle cx="9" cy="9" r="2.5"></circle></svg><span class="sr-only">Get image</span></a></div></div></div></div><div class="BlockTitle__BlockTitleSwitcherWrapper-nuxb31-9 aNaBd"><div class="BlockTitle__BlockChartControls-nuxb31-6 bcoAoM BlockChartControls"><div class="ButtonGroup-sc-1k32jr0-0 dRuaES"><button class="Button-tirokp-0 dwxRHq Button--selected Button Button--selected"><span data-key="chart_units.percentage" class="t">Percents</span></button><button class="Button-tirokp-0 dwxRHq Button--unselected Button Button--unselected"><span data-key="chart_units.count" class="t">Count</span></button></div></div></div></div><div class="BlockTitle__Description-nuxb31-5 hmJkhL Block__Description"><span data-key="browser_apis.webvr.description" class="t t-override">WebVR provides support for exposing virtual reality devices — for example, head-mounted displays like the Oculus Rift or HTC Vive — to web apps, enabling developers to translate position and movement information from the display into movement around a 3D scene. This has numerous, interesting applications, from virtual product tours and interactive training apps to immersive first-person games.</span></div><div class="Block__Contents"><div class="FeatureExperienceBlock__Row-sc-1rrr2zp-0 hfkBgM"><h4 class="FeatureExperienceBlock__RowYear-sc-1rrr2zp-1 eBigms">2019</h4><div class="ChartContainer__ChartContainerOuter-edfgx0-0 cUpOwA ChartContainerOuter FeatureChart" style="height:40px"><div class="ChartContainer__Container-edfgx0-1 xUamw ChartContainer" style="height:40px"><div class="ChartContainer__ChartContainerInner-edfgx0-2 gpvRnu ChartContainerInner" style="height:40px"><div style="width:100%;height:100%"></div></div></div></div></div><div class="FeatureExperienceBlock__Row-sc-1rrr2zp-0 hfkBgM"><h4 class="FeatureExperienceBlock__RowYear-sc-1rrr2zp-1 eBigms">2020</h4><div class="ChartContainer__ChartContainerOuter-edfgx0-0 cUpOwA ChartContainerOuter FeatureChart" style="height:40px"><div class="ChartContainer__Container-edfgx0-1 xUamw ChartContainer" style="height:40px"><div class="ChartContainer__ChartContainerInner-edfgx0-2 gpvRnu ChartContainerInner" style="height:40px"><div style="width:100%;height:100%"></div></div></div></div></div></div><table class="BlockLegends__Container-x2sx8r-0 eZbJfN Block__Legends"><tbody class="BlockLegends__ContainerInner-x2sx8r-1 dxTlgm"><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#41c7c7" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Have used it</td></tr><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#1d7e7e" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Know about it</td></tr><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#cecdcc" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Never heard of it</td></tr></tbody></table></div><div id="websocket" class="Block__Container-sc-11g8wz8-0 bglUIQ Block Block--websocket"><div class="BlockTitle__StyledBlockTitle-nuxb31-2 dAAPyT Block__Title"><div class="BlockTitle__LeftPart-nuxb31-4 iCAAeX"><h3 class="BlockTitle__BlockTitleText-nuxb31-3 iivsMM BlockTitleText"><a class="SharePermalink__Link-ndc8lc-0 gJOVcJ SharePermalink share__link" href="https://2020.stateofjs.com/en-US/features/browser-apis/websocket" target="_blank" rel="noopener noreferrer" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g id="Filled_Icons_1_"><g id="Filled_Icons"><path d="M14.474,10.232l-0.706-0.706C12.208,7.966,9.67,7.964,8.11,9.525l-4.597,4.597c-1.56,1.56-1.56,4.097,0,5.657 l0.707,0.706c0.756,0.757,1.76,1.173,2.829,1.173c1.068,0,2.072-0.417,2.827-1.172l2.173-2.171c0.391-0.391,0.391-1.024,0-1.414 c-0.391-0.392-1.023-0.392-1.414,0l-2.173,2.17c-0.755,0.756-2.071,0.757-2.828,0l-0.707-0.706c-0.779-0.781-0.779-2.049,0-2.829 l4.597-4.596c0.756-0.756,2.073-0.756,2.828,0l0.707,0.707c0.391,0.391,1.023,0.391,1.414,0 C14.864,11.256,14.864,10.623,14.474,10.232z"></path><path d="M20.486,4.221l-0.707-0.706c-0.756-0.757-1.76-1.173-2.829-1.173c-1.068,0-2.072,0.418-2.827,1.172L12.135,5.5 c-0.391,0.391-0.391,1.024,0,1.414c0.391,0.392,1.023,0.392,1.414,0l1.988-1.984c0.755-0.756,2.071-0.757,2.828,0l0.707,0.706 c0.779,0.78,0.779,2.049,0,2.829l-4.597,4.596c-0.756,0.756-2.073,0.756-2.828,0c-0.391-0.391-1.024-0.391-1.414,0 c-0.391,0.391-0.392,1.023-0.001,1.414c1.56,1.562,4.098,1.562,5.657,0.001l4.597-4.597C22.046,8.319,22.046,5.781,20.486,4.221z"></path></g></g><rect fill="none" width="24" height="24" id="Frames-24px"></rect></svg></a><a href="https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API">WebSocket</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bHsPNt CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>92.3<!-- -->%</strong> <span>(<!-- -->21929<!-- -->)</span></div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>92.3<!-- -->%</strong> <span>(<!-- -->21929<!-- -->)</span></div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 hNsnqo"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(92.3 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 cJwfmm"></circle></svg></div></h3><div class="Popover__Container-sc-3zqg9-0 fxzssI Popover Popover--bottom _is-closed"><div class="Popover__PopoverInner-sc-3zqg9-1 iFJNkp PopoverInner"><button aria-expanded="false" aria-haspopup="[object Object]" aria-controls="[object Object]" class="Button-tirokp-0 BlockTitle__MoreButton-nuxb31-1 jrlGls jDLsKE Button"><span class="BlockTitle__ScreenReadersHint-nuxb31-0 dbINfu">[en-US] general.more_actions</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" x="0" y="0" viewBox="0 0 24 24"><g><g fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"><circle cx="3" cy="12" r="2.5"></circle><circle cx="12" cy="12" r="2.5"></circle><circle cx="21" cy="12" r="2.5"></circle></g></g><path fill="none" d="M0 0H24V24H0z"></path></svg></button><div class="Popover__PopoverPopup-sc-3zqg9-3 edvQGu PopoverPopup" id="PopoverPopup"><div class="BlockTitle__PopoverContents-nuxb31-7 fNQoWU"><div class="BlockExport__ButtonWrapper-sc-1gwpler-2 hjHqeU BlockExport"><button class="Button-tirokp-0 BlockExport__ExportButton-sc-1gwpler-3 dwxRHq jOWEGs ExportButton Button ExportButton"><span data-key="export.export" class="t">Export</span></button></div><div class="ShareBlock__Container-awxqfs-0 eghido ShareBlock Block__Title__Share"><div class="ShareBlock__ButtonWrapper-awxqfs-1 cAwBhT"><button class="Button-tirokp-0 ShareBlock__ShareButton-awxqfs-2 dwxRHq ShareButton Button ShareButton" aria-haspopup="menu" aria-expanded="false"><span data-key="share.share" class="t">Share</span></button></div><div class="ShareBlock__Popup-awxqfs-4 hnxXLV ShareBlock__Popup"><a href="https://twitter.com/intent/tweet/?text=%23StateOfJS%202020%3A%20WebSocket%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fwebsocket" target="_blank" rel="noopener noreferrer" aria-label="Share on Twitter" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--twitter"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M23.444,4.834c-0.814,0.363-1.5,0.375-2.228,0.016c0.938-0.562,0.981-0.957,1.32-2.019c-0.878,0.521-1.851,0.9-2.886,1.104 C18.823,3.053,17.642,2.5,16.335,2.5c-2.51,0-4.544,2.036-4.544,4.544c0,0.356,0.04,0.703,0.117,1.036 C8.132,7.891,4.783,6.082,2.542,3.332C2.151,4.003,1.927,4.784,1.927,5.617c0,1.577,0.803,2.967,2.021,3.782 C3.203,9.375,2.503,9.171,1.891,8.831C1.89,8.85,1.89,8.868,1.89,8.888c0,2.202,1.566,4.038,3.646,4.456 c-0.666,0.181-1.368,0.209-2.053,0.079c0.579,1.804,2.257,3.118,4.245,3.155C5.783,18.102,3.372,18.737,1,18.459 C3.012,19.748,5.399,20.5,7.966,20.5c8.358,0,12.928-6.924,12.928-12.929c0-0.198-0.003-0.393-0.012-0.588 C21.769,6.343,22.835,5.746,23.444,4.834z"></path></svg><span class="sr-only">Share on Twitter</span></a><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fwebsocket" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--facebook"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M18.768,7.465H14.5V5.56c0-0.896,0.594-1.105,1.012-1.105s2.988,0,2.988,0V0.513L14.171,0.5C10.244,0.5,9.5,3.438,9.5,5.32 v2.145h-3v4h3c0,5.212,0,12,0,12h5c0,0,0-6.85,0-12h3.851L18.768,7.465z"></path></svg><span class="sr-only">Share on Facebook</span></a><a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fwebsocket&title=WebSocket&summary=" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--linkedin"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path></svg><span class="sr-only">Share on LinkedIn</span></a><a href="mailto:?subject=State%20of%20JS%202020%20Survey%20Results&body=Here%20are%20some%20interesting%20survey%20results%20(WebSocket)%3A%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fwebsocket" target="_self" aria-label="Share by email" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--email"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M22,4H2C0.897,4,0,4.897,0,6v12c0,1.103,0.897,2,2,2h20c1.103,0,2-0.897,2-2V6C24,4.897,23.103,4,22,4z M7.248,14.434 l-3.5,2C3.67,16.479,3.584,16.5,3.5,16.5c-0.174,0-0.342-0.09-0.435-0.252c-0.137-0.239-0.054-0.545,0.186-0.682l3.5-2 c0.24-0.137,0.545-0.054,0.682,0.186C7.571,13.992,7.488,14.297,7.248,14.434z M12,14.5c-0.094,0-0.189-0.026-0.271-0.08l-8.5-5.5 C2.997,8.77,2.93,8.46,3.081,8.229c0.15-0.23,0.459-0.298,0.691-0.147L12,13.405l8.229-5.324c0.232-0.15,0.542-0.084,0.691,0.147 c0.15,0.232,0.083,0.542-0.148,0.691l-8.5,5.5C12.189,14.474,12.095,14.5,12,14.5z M20.934,16.248 C20.842,16.41,20.673,16.5,20.5,16.5c-0.084,0-0.169-0.021-0.248-0.065l-3.5-2c-0.24-0.137-0.323-0.442-0.186-0.682 s0.443-0.322,0.682-0.186l3.5,2C20.988,15.703,21.071,16.009,20.934,16.248z"></path></svg><span class="sr-only">Share by email</span></a><a href="https://stateofx-images.netlify.app/captures/js2020/en-US/websocket.png" target="_blank" rel="noopener noreferrer" aria-label="Get image" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--image"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M22.486,17.236l1.05-1.458c0.125-0.175,0.125-0.409,0-0.584l-1.049-1.459l1.049-1.458c0.125-0.175,0.125-0.41,0-0.584 l-1.049-1.455l1.049-1.457c0.126-0.174,0.125-0.41,0-0.585l-1.048-1.451l1.049-1.455c0.125-0.175,0.125-0.411,0-0.585 l-1.085-1.506l0.943-1.925c0.094-0.192,0.056-0.423-0.096-0.574c-0.15-0.151-0.381-0.189-0.573-0.096l-1.932,0.945L19.28,0.464 c-0.175-0.126-0.41-0.125-0.583,0l-1.461,1.05l-1.457-1.049c-0.175-0.126-0.41-0.126-0.584,0l-1.459,1.049l-1.457-1.049 c-0.174-0.126-0.41-0.126-0.585,0l-1.455,1.049L8.781,0.465c-0.174-0.126-0.41-0.126-0.585,0L6.745,1.513L5.29,0.465 c-0.175-0.126-0.411-0.126-0.584,0L3.198,1.549L1.273,0.606C1.084,0.514,0.852,0.551,0.7,0.702 c-0.151,0.15-0.19,0.382-0.096,0.573l0.945,1.932L0.464,4.72c-0.125,0.174-0.125,0.41,0,0.583l1.05,1.461l-1.05,1.457 c-0.125,0.174-0.125,0.409,0,0.584l1.049,1.46l-1.049,1.458c-0.125,0.174-0.125,0.41,0,0.584l1.049,1.455L0.464,15.22 c-0.126,0.174-0.125,0.411,0,0.585l1.048,1.452l-1.049,1.454c-0.125,0.175-0.125,0.41,0,0.585l1.085,1.506l-0.943,1.925 c-0.094,0.192-0.056,0.422,0.096,0.574c0.151,0.151,0.383,0.189,0.573,0.095l1.932-0.944l1.513,1.085 c0.174,0.125,0.409,0.125,0.583,0l1.461-1.051l1.457,1.05c0.174,0.126,0.409,0.126,0.584,0l1.459-1.049l1.457,1.049 c0.174,0.126,0.41,0.126,0.585,0l1.455-1.049l1.458,1.049c0.087,0.063,0.189,0.094,0.292,0.094c0.102,0,0.206-0.032,0.293-0.095 l1.451-1.048l1.456,1.049c0.175,0.126,0.411,0.126,0.584,0l1.507-1.084l1.925,0.942c0.192,0.094,0.424,0.056,0.575-0.098 c0.151-0.152,0.188-0.385,0.091-0.577l-0.94-1.865l1.088-1.583c0.119-0.174,0.117-0.404-0.006-0.575L22.486,17.236z M20,19.5 c0,0.276-0.224,0.5-0.5,0.5h-15C4.224,20,4,19.776,4,19.5v-15C4,4.224,4.224,4,4.5,4h15C19.776,4,20,4.224,20,4.5V19.5z"></path><path d="M17.983,17.371l-2.143-8c-0.056-0.208-0.238-0.357-0.453-0.37c-0.222-0.013-0.414,0.113-0.494,0.312l-2.061,5.125 l-1.911-1.569c-0.12-0.099-0.278-0.135-0.43-0.101c-0.151,0.035-0.278,0.14-0.342,0.28l-1.938,4.245 c-0.07,0.155-0.058,0.335,0.035,0.478C8.338,17.914,8.497,18,8.667,18H17.5c0.155,0,0.302-0.072,0.396-0.196 C17.991,17.682,18.023,17.521,17.983,17.371z"></path><circle cx="9" cy="9" r="2.5"></circle></svg><span class="sr-only">Get image</span></a></div></div><div class="BlockTitle__BlockChartControls-nuxb31-6 bcoAoM BlockChartControls"><div class="ButtonGroup-sc-1k32jr0-0 dRuaES"><button class="Button-tirokp-0 dwxRHq Button--selected Button Button--selected"><span data-key="chart_units.percentage" class="t">Percents</span></button><button class="Button-tirokp-0 dwxRHq Button--unselected Button Button--unselected"><span data-key="chart_units.count" class="t">Count</span></button></div></div></div></div></div></div><div class="BlockTitle__BlockTitleActionsWrapper-nuxb31-8 bzxYzw"><div class="BlockExport__ButtonWrapper-sc-1gwpler-2 hjHqeU BlockExport"><button class="Button-tirokp-0 BlockExport__ExportButton-sc-1gwpler-3 dwxRHq jOWEGs ExportButton Button ExportButton"><span data-key="export.export" class="t">Export</span></button></div><div class="ShareBlock__Container-awxqfs-0 eghido ShareBlock Block__Title__Share"><div class="ShareBlock__ButtonWrapper-awxqfs-1 cAwBhT"><button class="Button-tirokp-0 ShareBlock__ShareButton-awxqfs-2 dwxRHq ShareButton Button ShareButton" aria-haspopup="menu" aria-expanded="false"><span data-key="share.share" class="t">Share</span></button></div><div class="ShareBlock__Popup-awxqfs-4 hnxXLV ShareBlock__Popup"><a href="https://twitter.com/intent/tweet/?text=%23StateOfJS%202020%3A%20WebSocket%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fwebsocket" target="_blank" rel="noopener noreferrer" aria-label="Share on Twitter" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--twitter"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M23.444,4.834c-0.814,0.363-1.5,0.375-2.228,0.016c0.938-0.562,0.981-0.957,1.32-2.019c-0.878,0.521-1.851,0.9-2.886,1.104 C18.823,3.053,17.642,2.5,16.335,2.5c-2.51,0-4.544,2.036-4.544,4.544c0,0.356,0.04,0.703,0.117,1.036 C8.132,7.891,4.783,6.082,2.542,3.332C2.151,4.003,1.927,4.784,1.927,5.617c0,1.577,0.803,2.967,2.021,3.782 C3.203,9.375,2.503,9.171,1.891,8.831C1.89,8.85,1.89,8.868,1.89,8.888c0,2.202,1.566,4.038,3.646,4.456 c-0.666,0.181-1.368,0.209-2.053,0.079c0.579,1.804,2.257,3.118,4.245,3.155C5.783,18.102,3.372,18.737,1,18.459 C3.012,19.748,5.399,20.5,7.966,20.5c8.358,0,12.928-6.924,12.928-12.929c0-0.198-0.003-0.393-0.012-0.588 C21.769,6.343,22.835,5.746,23.444,4.834z"></path></svg><span class="sr-only">Share on Twitter</span></a><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fwebsocket" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--facebook"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M18.768,7.465H14.5V5.56c0-0.896,0.594-1.105,1.012-1.105s2.988,0,2.988,0V0.513L14.171,0.5C10.244,0.5,9.5,3.438,9.5,5.32 v2.145h-3v4h3c0,5.212,0,12,0,12h5c0,0,0-6.85,0-12h3.851L18.768,7.465z"></path></svg><span class="sr-only">Share on Facebook</span></a><a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fwebsocket&title=WebSocket&summary=" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--linkedin"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path></svg><span class="sr-only">Share on LinkedIn</span></a><a href="mailto:?subject=State%20of%20JS%202020%20Survey%20Results&body=Here%20are%20some%20interesting%20survey%20results%20(WebSocket)%3A%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fwebsocket" target="_self" aria-label="Share by email" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--email"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M22,4H2C0.897,4,0,4.897,0,6v12c0,1.103,0.897,2,2,2h20c1.103,0,2-0.897,2-2V6C24,4.897,23.103,4,22,4z M7.248,14.434 l-3.5,2C3.67,16.479,3.584,16.5,3.5,16.5c-0.174,0-0.342-0.09-0.435-0.252c-0.137-0.239-0.054-0.545,0.186-0.682l3.5-2 c0.24-0.137,0.545-0.054,0.682,0.186C7.571,13.992,7.488,14.297,7.248,14.434z M12,14.5c-0.094,0-0.189-0.026-0.271-0.08l-8.5-5.5 C2.997,8.77,2.93,8.46,3.081,8.229c0.15-0.23,0.459-0.298,0.691-0.147L12,13.405l8.229-5.324c0.232-0.15,0.542-0.084,0.691,0.147 c0.15,0.232,0.083,0.542-0.148,0.691l-8.5,5.5C12.189,14.474,12.095,14.5,12,14.5z M20.934,16.248 C20.842,16.41,20.673,16.5,20.5,16.5c-0.084,0-0.169-0.021-0.248-0.065l-3.5-2c-0.24-0.137-0.323-0.442-0.186-0.682 s0.443-0.322,0.682-0.186l3.5,2C20.988,15.703,21.071,16.009,20.934,16.248z"></path></svg><span class="sr-only">Share by email</span></a><a href="https://stateofx-images.netlify.app/captures/js2020/en-US/websocket.png" target="_blank" rel="noopener noreferrer" aria-label="Get image" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--image"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M22.486,17.236l1.05-1.458c0.125-0.175,0.125-0.409,0-0.584l-1.049-1.459l1.049-1.458c0.125-0.175,0.125-0.41,0-0.584 l-1.049-1.455l1.049-1.457c0.126-0.174,0.125-0.41,0-0.585l-1.048-1.451l1.049-1.455c0.125-0.175,0.125-0.411,0-0.585 l-1.085-1.506l0.943-1.925c0.094-0.192,0.056-0.423-0.096-0.574c-0.15-0.151-0.381-0.189-0.573-0.096l-1.932,0.945L19.28,0.464 c-0.175-0.126-0.41-0.125-0.583,0l-1.461,1.05l-1.457-1.049c-0.175-0.126-0.41-0.126-0.584,0l-1.459,1.049l-1.457-1.049 c-0.174-0.126-0.41-0.126-0.585,0l-1.455,1.049L8.781,0.465c-0.174-0.126-0.41-0.126-0.585,0L6.745,1.513L5.29,0.465 c-0.175-0.126-0.411-0.126-0.584,0L3.198,1.549L1.273,0.606C1.084,0.514,0.852,0.551,0.7,0.702 c-0.151,0.15-0.19,0.382-0.096,0.573l0.945,1.932L0.464,4.72c-0.125,0.174-0.125,0.41,0,0.583l1.05,1.461l-1.05,1.457 c-0.125,0.174-0.125,0.409,0,0.584l1.049,1.46l-1.049,1.458c-0.125,0.174-0.125,0.41,0,0.584l1.049,1.455L0.464,15.22 c-0.126,0.174-0.125,0.411,0,0.585l1.048,1.452l-1.049,1.454c-0.125,0.175-0.125,0.41,0,0.585l1.085,1.506l-0.943,1.925 c-0.094,0.192-0.056,0.422,0.096,0.574c0.151,0.151,0.383,0.189,0.573,0.095l1.932-0.944l1.513,1.085 c0.174,0.125,0.409,0.125,0.583,0l1.461-1.051l1.457,1.05c0.174,0.126,0.409,0.126,0.584,0l1.459-1.049l1.457,1.049 c0.174,0.126,0.41,0.126,0.585,0l1.455-1.049l1.458,1.049c0.087,0.063,0.189,0.094,0.292,0.094c0.102,0,0.206-0.032,0.293-0.095 l1.451-1.048l1.456,1.049c0.175,0.126,0.411,0.126,0.584,0l1.507-1.084l1.925,0.942c0.192,0.094,0.424,0.056,0.575-0.098 c0.151-0.152,0.188-0.385,0.091-0.577l-0.94-1.865l1.088-1.583c0.119-0.174,0.117-0.404-0.006-0.575L22.486,17.236z M20,19.5 c0,0.276-0.224,0.5-0.5,0.5h-15C4.224,20,4,19.776,4,19.5v-15C4,4.224,4.224,4,4.5,4h15C19.776,4,20,4.224,20,4.5V19.5z"></path><path d="M17.983,17.371l-2.143-8c-0.056-0.208-0.238-0.357-0.453-0.37c-0.222-0.013-0.414,0.113-0.494,0.312l-2.061,5.125 l-1.911-1.569c-0.12-0.099-0.278-0.135-0.43-0.101c-0.151,0.035-0.278,0.14-0.342,0.28l-1.938,4.245 c-0.07,0.155-0.058,0.335,0.035,0.478C8.338,17.914,8.497,18,8.667,18H17.5c0.155,0,0.302-0.072,0.396-0.196 C17.991,17.682,18.023,17.521,17.983,17.371z"></path><circle cx="9" cy="9" r="2.5"></circle></svg><span class="sr-only">Get image</span></a></div></div></div></div><div class="BlockTitle__BlockTitleSwitcherWrapper-nuxb31-9 aNaBd"><div class="BlockTitle__BlockChartControls-nuxb31-6 bcoAoM BlockChartControls"><div class="ButtonGroup-sc-1k32jr0-0 dRuaES"><button class="Button-tirokp-0 dwxRHq Button--selected Button Button--selected"><span data-key="chart_units.percentage" class="t">Percents</span></button><button class="Button-tirokp-0 dwxRHq Button--unselected Button Button--unselected"><span data-key="chart_units.count" class="t">Count</span></button></div></div></div></div><div class="BlockTitle__Description-nuxb31-5 hmJkhL Block__Description"><span data-key="browser_apis.websocket.description" class="t t-override">The WebSocket API is an advanced technology that makes it possible to open a two-way interactive communication session between the user's browser and a server. With this API, you can send messages to a server and receive event-driven responses without having to poll the server for a reply.</span></div><div class="Block__Contents"><div class="FeatureExperienceBlock__Row-sc-1rrr2zp-0 hfkBgM"><h4 class="FeatureExperienceBlock__RowYear-sc-1rrr2zp-1 eBigms">2019</h4><div class="ChartContainer__ChartContainerOuter-edfgx0-0 cUpOwA ChartContainerOuter FeatureChart" style="height:40px"><div class="ChartContainer__Container-edfgx0-1 xUamw ChartContainer" style="height:40px"><div class="ChartContainer__ChartContainerInner-edfgx0-2 gpvRnu ChartContainerInner" style="height:40px"><div style="width:100%;height:100%"></div></div></div></div></div><div class="FeatureExperienceBlock__Row-sc-1rrr2zp-0 hfkBgM"><h4 class="FeatureExperienceBlock__RowYear-sc-1rrr2zp-1 eBigms">2020</h4><div class="ChartContainer__ChartContainerOuter-edfgx0-0 cUpOwA ChartContainerOuter FeatureChart" style="height:40px"><div class="ChartContainer__Container-edfgx0-1 xUamw ChartContainer" style="height:40px"><div class="ChartContainer__ChartContainerInner-edfgx0-2 gpvRnu ChartContainerInner" style="height:40px"><div style="width:100%;height:100%"></div></div></div></div></div></div><table class="BlockLegends__Container-x2sx8r-0 eZbJfN Block__Legends"><tbody class="BlockLegends__ContainerInner-x2sx8r-1 dxTlgm"><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#41c7c7" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Have used it</td></tr><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#1d7e7e" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Know about it</td></tr><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#cecdcc" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Never heard of it</td></tr></tbody></table></div><div id="fetch" class="Block__Container-sc-11g8wz8-0 bglUIQ Block Block--fetch"><div class="BlockTitle__StyledBlockTitle-nuxb31-2 dAAPyT Block__Title"><div class="BlockTitle__LeftPart-nuxb31-4 iCAAeX"><h3 class="BlockTitle__BlockTitleText-nuxb31-3 iivsMM BlockTitleText"><a class="SharePermalink__Link-ndc8lc-0 gJOVcJ SharePermalink share__link" href="https://2020.stateofjs.com/en-US/features/browser-apis/fetch" target="_blank" rel="noopener noreferrer" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g id="Filled_Icons_1_"><g id="Filled_Icons"><path d="M14.474,10.232l-0.706-0.706C12.208,7.966,9.67,7.964,8.11,9.525l-4.597,4.597c-1.56,1.56-1.56,4.097,0,5.657 l0.707,0.706c0.756,0.757,1.76,1.173,2.829,1.173c1.068,0,2.072-0.417,2.827-1.172l2.173-2.171c0.391-0.391,0.391-1.024,0-1.414 c-0.391-0.392-1.023-0.392-1.414,0l-2.173,2.17c-0.755,0.756-2.071,0.757-2.828,0l-0.707-0.706c-0.779-0.781-0.779-2.049,0-2.829 l4.597-4.596c0.756-0.756,2.073-0.756,2.828,0l0.707,0.707c0.391,0.391,1.023,0.391,1.414,0 C14.864,11.256,14.864,10.623,14.474,10.232z"></path><path d="M20.486,4.221l-0.707-0.706c-0.756-0.757-1.76-1.173-2.829-1.173c-1.068,0-2.072,0.418-2.827,1.172L12.135,5.5 c-0.391,0.391-0.391,1.024,0,1.414c0.391,0.392,1.023,0.392,1.414,0l1.988-1.984c0.755-0.756,2.071-0.757,2.828,0l0.707,0.706 c0.779,0.78,0.779,2.049,0,2.829l-4.597,4.596c-0.756,0.756-2.073,0.756-2.828,0c-0.391-0.391-1.024-0.391-1.414,0 c-0.391,0.391-0.392,1.023-0.001,1.414c1.56,1.562,4.098,1.562,5.657,0.001l4.597-4.597C22.046,8.319,22.046,5.781,20.486,4.221z"></path></g></g><rect fill="none" width="24" height="24" id="Frames-24px"></rect></svg></a><a href="https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch">Fetch</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bHsPNt CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>92.4<!-- -->%</strong> <span>(<!-- -->21957<!-- -->)</span></div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>92.4<!-- -->%</strong> <span>(<!-- -->21957<!-- -->)</span></div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 hNsnqo"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(92.4 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 cJwfmm"></circle></svg></div></h3><div class="Popover__Container-sc-3zqg9-0 fxzssI Popover Popover--bottom _is-closed"><div class="Popover__PopoverInner-sc-3zqg9-1 iFJNkp PopoverInner"><button aria-expanded="false" aria-haspopup="[object Object]" aria-controls="[object Object]" class="Button-tirokp-0 BlockTitle__MoreButton-nuxb31-1 jrlGls jDLsKE Button"><span class="BlockTitle__ScreenReadersHint-nuxb31-0 dbINfu">[en-US] general.more_actions</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" x="0" y="0" viewBox="0 0 24 24"><g><g fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"><circle cx="3" cy="12" r="2.5"></circle><circle cx="12" cy="12" r="2.5"></circle><circle cx="21" cy="12" r="2.5"></circle></g></g><path fill="none" d="M0 0H24V24H0z"></path></svg></button><div class="Popover__PopoverPopup-sc-3zqg9-3 edvQGu PopoverPopup" id="PopoverPopup"><div class="BlockTitle__PopoverContents-nuxb31-7 fNQoWU"><div class="BlockExport__ButtonWrapper-sc-1gwpler-2 hjHqeU BlockExport"><button class="Button-tirokp-0 BlockExport__ExportButton-sc-1gwpler-3 dwxRHq jOWEGs ExportButton Button ExportButton"><span data-key="export.export" class="t">Export</span></button></div><div class="ShareBlock__Container-awxqfs-0 eghido ShareBlock Block__Title__Share"><div class="ShareBlock__ButtonWrapper-awxqfs-1 cAwBhT"><button class="Button-tirokp-0 ShareBlock__ShareButton-awxqfs-2 dwxRHq ShareButton Button ShareButton" aria-haspopup="menu" aria-expanded="false"><span data-key="share.share" class="t">Share</span></button></div><div class="ShareBlock__Popup-awxqfs-4 hnxXLV ShareBlock__Popup"><a href="https://twitter.com/intent/tweet/?text=%23StateOfJS%202020%3A%20Fetch%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Ffetch" target="_blank" rel="noopener noreferrer" aria-label="Share on Twitter" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--twitter"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M23.444,4.834c-0.814,0.363-1.5,0.375-2.228,0.016c0.938-0.562,0.981-0.957,1.32-2.019c-0.878,0.521-1.851,0.9-2.886,1.104 C18.823,3.053,17.642,2.5,16.335,2.5c-2.51,0-4.544,2.036-4.544,4.544c0,0.356,0.04,0.703,0.117,1.036 C8.132,7.891,4.783,6.082,2.542,3.332C2.151,4.003,1.927,4.784,1.927,5.617c0,1.577,0.803,2.967,2.021,3.782 C3.203,9.375,2.503,9.171,1.891,8.831C1.89,8.85,1.89,8.868,1.89,8.888c0,2.202,1.566,4.038,3.646,4.456 c-0.666,0.181-1.368,0.209-2.053,0.079c0.579,1.804,2.257,3.118,4.245,3.155C5.783,18.102,3.372,18.737,1,18.459 C3.012,19.748,5.399,20.5,7.966,20.5c8.358,0,12.928-6.924,12.928-12.929c0-0.198-0.003-0.393-0.012-0.588 C21.769,6.343,22.835,5.746,23.444,4.834z"></path></svg><span class="sr-only">Share on Twitter</span></a><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Ffetch" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--facebook"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M18.768,7.465H14.5V5.56c0-0.896,0.594-1.105,1.012-1.105s2.988,0,2.988,0V0.513L14.171,0.5C10.244,0.5,9.5,3.438,9.5,5.32 v2.145h-3v4h3c0,5.212,0,12,0,12h5c0,0,0-6.85,0-12h3.851L18.768,7.465z"></path></svg><span class="sr-only">Share on Facebook</span></a><a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Ffetch&title=Fetch&summary=" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--linkedin"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path></svg><span class="sr-only">Share on LinkedIn</span></a><a href="mailto:?subject=State%20of%20JS%202020%20Survey%20Results&body=Here%20are%20some%20interesting%20survey%20results%20(Fetch)%3A%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Ffetch" target="_self" aria-label="Share by email" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--email"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M22,4H2C0.897,4,0,4.897,0,6v12c0,1.103,0.897,2,2,2h20c1.103,0,2-0.897,2-2V6C24,4.897,23.103,4,22,4z M7.248,14.434 l-3.5,2C3.67,16.479,3.584,16.5,3.5,16.5c-0.174,0-0.342-0.09-0.435-0.252c-0.137-0.239-0.054-0.545,0.186-0.682l3.5-2 c0.24-0.137,0.545-0.054,0.682,0.186C7.571,13.992,7.488,14.297,7.248,14.434z M12,14.5c-0.094,0-0.189-0.026-0.271-0.08l-8.5-5.5 C2.997,8.77,2.93,8.46,3.081,8.229c0.15-0.23,0.459-0.298,0.691-0.147L12,13.405l8.229-5.324c0.232-0.15,0.542-0.084,0.691,0.147 c0.15,0.232,0.083,0.542-0.148,0.691l-8.5,5.5C12.189,14.474,12.095,14.5,12,14.5z M20.934,16.248 C20.842,16.41,20.673,16.5,20.5,16.5c-0.084,0-0.169-0.021-0.248-0.065l-3.5-2c-0.24-0.137-0.323-0.442-0.186-0.682 s0.443-0.322,0.682-0.186l3.5,2C20.988,15.703,21.071,16.009,20.934,16.248z"></path></svg><span class="sr-only">Share by email</span></a><a href="https://stateofx-images.netlify.app/captures/js2020/en-US/fetch.png" target="_blank" rel="noopener noreferrer" aria-label="Get image" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--image"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M22.486,17.236l1.05-1.458c0.125-0.175,0.125-0.409,0-0.584l-1.049-1.459l1.049-1.458c0.125-0.175,0.125-0.41,0-0.584 l-1.049-1.455l1.049-1.457c0.126-0.174,0.125-0.41,0-0.585l-1.048-1.451l1.049-1.455c0.125-0.175,0.125-0.411,0-0.585 l-1.085-1.506l0.943-1.925c0.094-0.192,0.056-0.423-0.096-0.574c-0.15-0.151-0.381-0.189-0.573-0.096l-1.932,0.945L19.28,0.464 c-0.175-0.126-0.41-0.125-0.583,0l-1.461,1.05l-1.457-1.049c-0.175-0.126-0.41-0.126-0.584,0l-1.459,1.049l-1.457-1.049 c-0.174-0.126-0.41-0.126-0.585,0l-1.455,1.049L8.781,0.465c-0.174-0.126-0.41-0.126-0.585,0L6.745,1.513L5.29,0.465 c-0.175-0.126-0.411-0.126-0.584,0L3.198,1.549L1.273,0.606C1.084,0.514,0.852,0.551,0.7,0.702 c-0.151,0.15-0.19,0.382-0.096,0.573l0.945,1.932L0.464,4.72c-0.125,0.174-0.125,0.41,0,0.583l1.05,1.461l-1.05,1.457 c-0.125,0.174-0.125,0.409,0,0.584l1.049,1.46l-1.049,1.458c-0.125,0.174-0.125,0.41,0,0.584l1.049,1.455L0.464,15.22 c-0.126,0.174-0.125,0.411,0,0.585l1.048,1.452l-1.049,1.454c-0.125,0.175-0.125,0.41,0,0.585l1.085,1.506l-0.943,1.925 c-0.094,0.192-0.056,0.422,0.096,0.574c0.151,0.151,0.383,0.189,0.573,0.095l1.932-0.944l1.513,1.085 c0.174,0.125,0.409,0.125,0.583,0l1.461-1.051l1.457,1.05c0.174,0.126,0.409,0.126,0.584,0l1.459-1.049l1.457,1.049 c0.174,0.126,0.41,0.126,0.585,0l1.455-1.049l1.458,1.049c0.087,0.063,0.189,0.094,0.292,0.094c0.102,0,0.206-0.032,0.293-0.095 l1.451-1.048l1.456,1.049c0.175,0.126,0.411,0.126,0.584,0l1.507-1.084l1.925,0.942c0.192,0.094,0.424,0.056,0.575-0.098 c0.151-0.152,0.188-0.385,0.091-0.577l-0.94-1.865l1.088-1.583c0.119-0.174,0.117-0.404-0.006-0.575L22.486,17.236z M20,19.5 c0,0.276-0.224,0.5-0.5,0.5h-15C4.224,20,4,19.776,4,19.5v-15C4,4.224,4.224,4,4.5,4h15C19.776,4,20,4.224,20,4.5V19.5z"></path><path d="M17.983,17.371l-2.143-8c-0.056-0.208-0.238-0.357-0.453-0.37c-0.222-0.013-0.414,0.113-0.494,0.312l-2.061,5.125 l-1.911-1.569c-0.12-0.099-0.278-0.135-0.43-0.101c-0.151,0.035-0.278,0.14-0.342,0.28l-1.938,4.245 c-0.07,0.155-0.058,0.335,0.035,0.478C8.338,17.914,8.497,18,8.667,18H17.5c0.155,0,0.302-0.072,0.396-0.196 C17.991,17.682,18.023,17.521,17.983,17.371z"></path><circle cx="9" cy="9" r="2.5"></circle></svg><span class="sr-only">Get image</span></a></div></div><div class="BlockTitle__BlockChartControls-nuxb31-6 bcoAoM BlockChartControls"><div class="ButtonGroup-sc-1k32jr0-0 dRuaES"><button class="Button-tirokp-0 dwxRHq Button--selected Button Button--selected"><span data-key="chart_units.percentage" class="t">Percents</span></button><button class="Button-tirokp-0 dwxRHq Button--unselected Button Button--unselected"><span data-key="chart_units.count" class="t">Count</span></button></div></div></div></div></div></div><div class="BlockTitle__BlockTitleActionsWrapper-nuxb31-8 bzxYzw"><div class="BlockExport__ButtonWrapper-sc-1gwpler-2 hjHqeU BlockExport"><button class="Button-tirokp-0 BlockExport__ExportButton-sc-1gwpler-3 dwxRHq jOWEGs ExportButton Button ExportButton"><span data-key="export.export" class="t">Export</span></button></div><div class="ShareBlock__Container-awxqfs-0 eghido ShareBlock Block__Title__Share"><div class="ShareBlock__ButtonWrapper-awxqfs-1 cAwBhT"><button class="Button-tirokp-0 ShareBlock__ShareButton-awxqfs-2 dwxRHq ShareButton Button ShareButton" aria-haspopup="menu" aria-expanded="false"><span data-key="share.share" class="t">Share</span></button></div><div class="ShareBlock__Popup-awxqfs-4 hnxXLV ShareBlock__Popup"><a href="https://twitter.com/intent/tweet/?text=%23StateOfJS%202020%3A%20Fetch%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Ffetch" target="_blank" rel="noopener noreferrer" aria-label="Share on Twitter" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--twitter"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M23.444,4.834c-0.814,0.363-1.5,0.375-2.228,0.016c0.938-0.562,0.981-0.957,1.32-2.019c-0.878,0.521-1.851,0.9-2.886,1.104 C18.823,3.053,17.642,2.5,16.335,2.5c-2.51,0-4.544,2.036-4.544,4.544c0,0.356,0.04,0.703,0.117,1.036 C8.132,7.891,4.783,6.082,2.542,3.332C2.151,4.003,1.927,4.784,1.927,5.617c0,1.577,0.803,2.967,2.021,3.782 C3.203,9.375,2.503,9.171,1.891,8.831C1.89,8.85,1.89,8.868,1.89,8.888c0,2.202,1.566,4.038,3.646,4.456 c-0.666,0.181-1.368,0.209-2.053,0.079c0.579,1.804,2.257,3.118,4.245,3.155C5.783,18.102,3.372,18.737,1,18.459 C3.012,19.748,5.399,20.5,7.966,20.5c8.358,0,12.928-6.924,12.928-12.929c0-0.198-0.003-0.393-0.012-0.588 C21.769,6.343,22.835,5.746,23.444,4.834z"></path></svg><span class="sr-only">Share on Twitter</span></a><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Ffetch" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--facebook"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M18.768,7.465H14.5V5.56c0-0.896,0.594-1.105,1.012-1.105s2.988,0,2.988,0V0.513L14.171,0.5C10.244,0.5,9.5,3.438,9.5,5.32 v2.145h-3v4h3c0,5.212,0,12,0,12h5c0,0,0-6.85,0-12h3.851L18.768,7.465z"></path></svg><span class="sr-only">Share on Facebook</span></a><a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Ffetch&title=Fetch&summary=" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--linkedin"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path></svg><span class="sr-only">Share on LinkedIn</span></a><a href="mailto:?subject=State%20of%20JS%202020%20Survey%20Results&body=Here%20are%20some%20interesting%20survey%20results%20(Fetch)%3A%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Ffetch" target="_self" aria-label="Share by email" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--email"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M22,4H2C0.897,4,0,4.897,0,6v12c0,1.103,0.897,2,2,2h20c1.103,0,2-0.897,2-2V6C24,4.897,23.103,4,22,4z M7.248,14.434 l-3.5,2C3.67,16.479,3.584,16.5,3.5,16.5c-0.174,0-0.342-0.09-0.435-0.252c-0.137-0.239-0.054-0.545,0.186-0.682l3.5-2 c0.24-0.137,0.545-0.054,0.682,0.186C7.571,13.992,7.488,14.297,7.248,14.434z M12,14.5c-0.094,0-0.189-0.026-0.271-0.08l-8.5-5.5 C2.997,8.77,2.93,8.46,3.081,8.229c0.15-0.23,0.459-0.298,0.691-0.147L12,13.405l8.229-5.324c0.232-0.15,0.542-0.084,0.691,0.147 c0.15,0.232,0.083,0.542-0.148,0.691l-8.5,5.5C12.189,14.474,12.095,14.5,12,14.5z M20.934,16.248 C20.842,16.41,20.673,16.5,20.5,16.5c-0.084,0-0.169-0.021-0.248-0.065l-3.5-2c-0.24-0.137-0.323-0.442-0.186-0.682 s0.443-0.322,0.682-0.186l3.5,2C20.988,15.703,21.071,16.009,20.934,16.248z"></path></svg><span class="sr-only">Share by email</span></a><a href="https://stateofx-images.netlify.app/captures/js2020/en-US/fetch.png" target="_blank" rel="noopener noreferrer" aria-label="Get image" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--image"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M22.486,17.236l1.05-1.458c0.125-0.175,0.125-0.409,0-0.584l-1.049-1.459l1.049-1.458c0.125-0.175,0.125-0.41,0-0.584 l-1.049-1.455l1.049-1.457c0.126-0.174,0.125-0.41,0-0.585l-1.048-1.451l1.049-1.455c0.125-0.175,0.125-0.411,0-0.585 l-1.085-1.506l0.943-1.925c0.094-0.192,0.056-0.423-0.096-0.574c-0.15-0.151-0.381-0.189-0.573-0.096l-1.932,0.945L19.28,0.464 c-0.175-0.126-0.41-0.125-0.583,0l-1.461,1.05l-1.457-1.049c-0.175-0.126-0.41-0.126-0.584,0l-1.459,1.049l-1.457-1.049 c-0.174-0.126-0.41-0.126-0.585,0l-1.455,1.049L8.781,0.465c-0.174-0.126-0.41-0.126-0.585,0L6.745,1.513L5.29,0.465 c-0.175-0.126-0.411-0.126-0.584,0L3.198,1.549L1.273,0.606C1.084,0.514,0.852,0.551,0.7,0.702 c-0.151,0.15-0.19,0.382-0.096,0.573l0.945,1.932L0.464,4.72c-0.125,0.174-0.125,0.41,0,0.583l1.05,1.461l-1.05,1.457 c-0.125,0.174-0.125,0.409,0,0.584l1.049,1.46l-1.049,1.458c-0.125,0.174-0.125,0.41,0,0.584l1.049,1.455L0.464,15.22 c-0.126,0.174-0.125,0.411,0,0.585l1.048,1.452l-1.049,1.454c-0.125,0.175-0.125,0.41,0,0.585l1.085,1.506l-0.943,1.925 c-0.094,0.192-0.056,0.422,0.096,0.574c0.151,0.151,0.383,0.189,0.573,0.095l1.932-0.944l1.513,1.085 c0.174,0.125,0.409,0.125,0.583,0l1.461-1.051l1.457,1.05c0.174,0.126,0.409,0.126,0.584,0l1.459-1.049l1.457,1.049 c0.174,0.126,0.41,0.126,0.585,0l1.455-1.049l1.458,1.049c0.087,0.063,0.189,0.094,0.292,0.094c0.102,0,0.206-0.032,0.293-0.095 l1.451-1.048l1.456,1.049c0.175,0.126,0.411,0.126,0.584,0l1.507-1.084l1.925,0.942c0.192,0.094,0.424,0.056,0.575-0.098 c0.151-0.152,0.188-0.385,0.091-0.577l-0.94-1.865l1.088-1.583c0.119-0.174,0.117-0.404-0.006-0.575L22.486,17.236z M20,19.5 c0,0.276-0.224,0.5-0.5,0.5h-15C4.224,20,4,19.776,4,19.5v-15C4,4.224,4.224,4,4.5,4h15C19.776,4,20,4.224,20,4.5V19.5z"></path><path d="M17.983,17.371l-2.143-8c-0.056-0.208-0.238-0.357-0.453-0.37c-0.222-0.013-0.414,0.113-0.494,0.312l-2.061,5.125 l-1.911-1.569c-0.12-0.099-0.278-0.135-0.43-0.101c-0.151,0.035-0.278,0.14-0.342,0.28l-1.938,4.245 c-0.07,0.155-0.058,0.335,0.035,0.478C8.338,17.914,8.497,18,8.667,18H17.5c0.155,0,0.302-0.072,0.396-0.196 C17.991,17.682,18.023,17.521,17.983,17.371z"></path><circle cx="9" cy="9" r="2.5"></circle></svg><span class="sr-only">Get image</span></a></div></div></div></div><div class="BlockTitle__BlockTitleSwitcherWrapper-nuxb31-9 aNaBd"><div class="BlockTitle__BlockChartControls-nuxb31-6 bcoAoM BlockChartControls"><div class="ButtonGroup-sc-1k32jr0-0 dRuaES"><button class="Button-tirokp-0 dwxRHq Button--selected Button Button--selected"><span data-key="chart_units.percentage" class="t">Percents</span></button><button class="Button-tirokp-0 dwxRHq Button--unselected Button Button--unselected"><span data-key="chart_units.count" class="t">Count</span></button></div></div></div></div><div class="BlockTitle__Description-nuxb31-5 hmJkhL Block__Description"><span data-key="browser_apis.fetch.description" class="t t-override"> The Fetch API provides a JavaScript interface for accessing and manipulating parts of the HTTP pipeline, such as requests and responses. It also provides a global fetch() method that provides an easy, logical way to fetch resources asynchronously across the network. </span></div><div class="Block__Contents"><div class="FeatureExperienceBlock__Row-sc-1rrr2zp-0 hfkBgM"><h4 class="FeatureExperienceBlock__RowYear-sc-1rrr2zp-1 eBigms">2019</h4><div class="ChartContainer__ChartContainerOuter-edfgx0-0 cUpOwA ChartContainerOuter FeatureChart" style="height:40px"><div class="ChartContainer__Container-edfgx0-1 xUamw ChartContainer" style="height:40px"><div class="ChartContainer__ChartContainerInner-edfgx0-2 gpvRnu ChartContainerInner" style="height:40px"><div style="width:100%;height:100%"></div></div></div></div></div><div class="FeatureExperienceBlock__Row-sc-1rrr2zp-0 hfkBgM"><h4 class="FeatureExperienceBlock__RowYear-sc-1rrr2zp-1 eBigms">2020</h4><div class="ChartContainer__ChartContainerOuter-edfgx0-0 cUpOwA ChartContainerOuter FeatureChart" style="height:40px"><div class="ChartContainer__Container-edfgx0-1 xUamw ChartContainer" style="height:40px"><div class="ChartContainer__ChartContainerInner-edfgx0-2 gpvRnu ChartContainerInner" style="height:40px"><div style="width:100%;height:100%"></div></div></div></div></div></div><table class="BlockLegends__Container-x2sx8r-0 eZbJfN Block__Legends"><tbody class="BlockLegends__ContainerInner-x2sx8r-1 dxTlgm"><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#41c7c7" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Have used it</td></tr><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#1d7e7e" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Know about it</td></tr><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#cecdcc" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Never heard of it</td></tr></tbody></table></div><div id="custom_elements" class="Block__Container-sc-11g8wz8-0 bglUIQ Block Block--custom_elements"><div class="BlockTitle__StyledBlockTitle-nuxb31-2 dAAPyT Block__Title"><div class="BlockTitle__LeftPart-nuxb31-4 iCAAeX"><h3 class="BlockTitle__BlockTitleText-nuxb31-3 iivsMM BlockTitleText"><a class="SharePermalink__Link-ndc8lc-0 gJOVcJ SharePermalink share__link" href="https://2020.stateofjs.com/en-US/features/browser-apis/custom_elements" target="_blank" rel="noopener noreferrer" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g id="Filled_Icons_1_"><g id="Filled_Icons"><path d="M14.474,10.232l-0.706-0.706C12.208,7.966,9.67,7.964,8.11,9.525l-4.597,4.597c-1.56,1.56-1.56,4.097,0,5.657 l0.707,0.706c0.756,0.757,1.76,1.173,2.829,1.173c1.068,0,2.072-0.417,2.827-1.172l2.173-2.171c0.391-0.391,0.391-1.024,0-1.414 c-0.391-0.392-1.023-0.392-1.414,0l-2.173,2.17c-0.755,0.756-2.071,0.757-2.828,0l-0.707-0.706c-0.779-0.781-0.779-2.049,0-2.829 l4.597-4.596c0.756-0.756,2.073-0.756,2.828,0l0.707,0.707c0.391,0.391,1.023,0.391,1.414,0 C14.864,11.256,14.864,10.623,14.474,10.232z"></path><path d="M20.486,4.221l-0.707-0.706c-0.756-0.757-1.76-1.173-2.829-1.173c-1.068,0-2.072,0.418-2.827,1.172L12.135,5.5 c-0.391,0.391-0.391,1.024,0,1.414c0.391,0.392,1.023,0.392,1.414,0l1.988-1.984c0.755-0.756,2.071-0.757,2.828,0l0.707,0.706 c0.779,0.78,0.779,2.049,0,2.829l-4.597,4.596c-0.756,0.756-2.073,0.756-2.828,0c-0.391-0.391-1.024-0.391-1.414,0 c-0.391,0.391-0.392,1.023-0.001,1.414c1.56,1.562,4.098,1.562,5.657,0.001l4.597-4.597C22.046,8.319,22.046,5.781,20.486,4.221z"></path></g></g><rect fill="none" width="24" height="24" id="Frames-24px"></rect></svg></a><a href="https://developer.mozilla.org/en-US/docs/Web/Web_Components">Custom Elements</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bHsPNt CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>92.4<!-- -->%</strong> <span>(<!-- -->21952<!-- -->)</span></div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>92.4<!-- -->%</strong> <span>(<!-- -->21952<!-- -->)</span></div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 hNsnqo"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(92.4 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 cJwfmm"></circle></svg></div></h3><div class="Popover__Container-sc-3zqg9-0 fxzssI Popover Popover--bottom _is-closed"><div class="Popover__PopoverInner-sc-3zqg9-1 iFJNkp PopoverInner"><button aria-expanded="false" aria-haspopup="[object Object]" aria-controls="[object Object]" class="Button-tirokp-0 BlockTitle__MoreButton-nuxb31-1 jrlGls jDLsKE Button"><span class="BlockTitle__ScreenReadersHint-nuxb31-0 dbINfu">[en-US] general.more_actions</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" x="0" y="0" viewBox="0 0 24 24"><g><g fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"><circle cx="3" cy="12" r="2.5"></circle><circle cx="12" cy="12" r="2.5"></circle><circle cx="21" cy="12" r="2.5"></circle></g></g><path fill="none" d="M0 0H24V24H0z"></path></svg></button><div class="Popover__PopoverPopup-sc-3zqg9-3 edvQGu PopoverPopup" id="PopoverPopup"><div class="BlockTitle__PopoverContents-nuxb31-7 fNQoWU"><div class="BlockExport__ButtonWrapper-sc-1gwpler-2 hjHqeU BlockExport"><button class="Button-tirokp-0 BlockExport__ExportButton-sc-1gwpler-3 dwxRHq jOWEGs ExportButton Button ExportButton"><span data-key="export.export" class="t">Export</span></button></div><div class="ShareBlock__Container-awxqfs-0 eghido ShareBlock Block__Title__Share"><div class="ShareBlock__ButtonWrapper-awxqfs-1 cAwBhT"><button class="Button-tirokp-0 ShareBlock__ShareButton-awxqfs-2 dwxRHq ShareButton Button ShareButton" aria-haspopup="menu" aria-expanded="false"><span data-key="share.share" class="t">Share</span></button></div><div class="ShareBlock__Popup-awxqfs-4 hnxXLV ShareBlock__Popup"><a href="https://twitter.com/intent/tweet/?text=%23StateOfJS%202020%3A%20Custom%20Elements%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fcustom_elements" target="_blank" rel="noopener noreferrer" aria-label="Share on Twitter" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--twitter"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M23.444,4.834c-0.814,0.363-1.5,0.375-2.228,0.016c0.938-0.562,0.981-0.957,1.32-2.019c-0.878,0.521-1.851,0.9-2.886,1.104 C18.823,3.053,17.642,2.5,16.335,2.5c-2.51,0-4.544,2.036-4.544,4.544c0,0.356,0.04,0.703,0.117,1.036 C8.132,7.891,4.783,6.082,2.542,3.332C2.151,4.003,1.927,4.784,1.927,5.617c0,1.577,0.803,2.967,2.021,3.782 C3.203,9.375,2.503,9.171,1.891,8.831C1.89,8.85,1.89,8.868,1.89,8.888c0,2.202,1.566,4.038,3.646,4.456 c-0.666,0.181-1.368,0.209-2.053,0.079c0.579,1.804,2.257,3.118,4.245,3.155C5.783,18.102,3.372,18.737,1,18.459 C3.012,19.748,5.399,20.5,7.966,20.5c8.358,0,12.928-6.924,12.928-12.929c0-0.198-0.003-0.393-0.012-0.588 C21.769,6.343,22.835,5.746,23.444,4.834z"></path></svg><span class="sr-only">Share on Twitter</span></a><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fcustom_elements" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--facebook"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M18.768,7.465H14.5V5.56c0-0.896,0.594-1.105,1.012-1.105s2.988,0,2.988,0V0.513L14.171,0.5C10.244,0.5,9.5,3.438,9.5,5.32 v2.145h-3v4h3c0,5.212,0,12,0,12h5c0,0,0-6.85,0-12h3.851L18.768,7.465z"></path></svg><span class="sr-only">Share on Facebook</span></a><a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fcustom_elements&title=Custom Elements&summary=" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--linkedin"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path></svg><span class="sr-only">Share on LinkedIn</span></a><a href="mailto:?subject=State%20of%20JS%202020%20Survey%20Results&body=Here%20are%20some%20interesting%20survey%20results%20(Custom%20Elements)%3A%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fcustom_elements" target="_self" aria-label="Share by email" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--email"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M22,4H2C0.897,4,0,4.897,0,6v12c0,1.103,0.897,2,2,2h20c1.103,0,2-0.897,2-2V6C24,4.897,23.103,4,22,4z M7.248,14.434 l-3.5,2C3.67,16.479,3.584,16.5,3.5,16.5c-0.174,0-0.342-0.09-0.435-0.252c-0.137-0.239-0.054-0.545,0.186-0.682l3.5-2 c0.24-0.137,0.545-0.054,0.682,0.186C7.571,13.992,7.488,14.297,7.248,14.434z M12,14.5c-0.094,0-0.189-0.026-0.271-0.08l-8.5-5.5 C2.997,8.77,2.93,8.46,3.081,8.229c0.15-0.23,0.459-0.298,0.691-0.147L12,13.405l8.229-5.324c0.232-0.15,0.542-0.084,0.691,0.147 c0.15,0.232,0.083,0.542-0.148,0.691l-8.5,5.5C12.189,14.474,12.095,14.5,12,14.5z M20.934,16.248 C20.842,16.41,20.673,16.5,20.5,16.5c-0.084,0-0.169-0.021-0.248-0.065l-3.5-2c-0.24-0.137-0.323-0.442-0.186-0.682 s0.443-0.322,0.682-0.186l3.5,2C20.988,15.703,21.071,16.009,20.934,16.248z"></path></svg><span class="sr-only">Share by email</span></a><a href="https://stateofx-images.netlify.app/captures/js2020/en-US/custom_elements.png" target="_blank" rel="noopener noreferrer" aria-label="Get image" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--image"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M22.486,17.236l1.05-1.458c0.125-0.175,0.125-0.409,0-0.584l-1.049-1.459l1.049-1.458c0.125-0.175,0.125-0.41,0-0.584 l-1.049-1.455l1.049-1.457c0.126-0.174,0.125-0.41,0-0.585l-1.048-1.451l1.049-1.455c0.125-0.175,0.125-0.411,0-0.585 l-1.085-1.506l0.943-1.925c0.094-0.192,0.056-0.423-0.096-0.574c-0.15-0.151-0.381-0.189-0.573-0.096l-1.932,0.945L19.28,0.464 c-0.175-0.126-0.41-0.125-0.583,0l-1.461,1.05l-1.457-1.049c-0.175-0.126-0.41-0.126-0.584,0l-1.459,1.049l-1.457-1.049 c-0.174-0.126-0.41-0.126-0.585,0l-1.455,1.049L8.781,0.465c-0.174-0.126-0.41-0.126-0.585,0L6.745,1.513L5.29,0.465 c-0.175-0.126-0.411-0.126-0.584,0L3.198,1.549L1.273,0.606C1.084,0.514,0.852,0.551,0.7,0.702 c-0.151,0.15-0.19,0.382-0.096,0.573l0.945,1.932L0.464,4.72c-0.125,0.174-0.125,0.41,0,0.583l1.05,1.461l-1.05,1.457 c-0.125,0.174-0.125,0.409,0,0.584l1.049,1.46l-1.049,1.458c-0.125,0.174-0.125,0.41,0,0.584l1.049,1.455L0.464,15.22 c-0.126,0.174-0.125,0.411,0,0.585l1.048,1.452l-1.049,1.454c-0.125,0.175-0.125,0.41,0,0.585l1.085,1.506l-0.943,1.925 c-0.094,0.192-0.056,0.422,0.096,0.574c0.151,0.151,0.383,0.189,0.573,0.095l1.932-0.944l1.513,1.085 c0.174,0.125,0.409,0.125,0.583,0l1.461-1.051l1.457,1.05c0.174,0.126,0.409,0.126,0.584,0l1.459-1.049l1.457,1.049 c0.174,0.126,0.41,0.126,0.585,0l1.455-1.049l1.458,1.049c0.087,0.063,0.189,0.094,0.292,0.094c0.102,0,0.206-0.032,0.293-0.095 l1.451-1.048l1.456,1.049c0.175,0.126,0.411,0.126,0.584,0l1.507-1.084l1.925,0.942c0.192,0.094,0.424,0.056,0.575-0.098 c0.151-0.152,0.188-0.385,0.091-0.577l-0.94-1.865l1.088-1.583c0.119-0.174,0.117-0.404-0.006-0.575L22.486,17.236z M20,19.5 c0,0.276-0.224,0.5-0.5,0.5h-15C4.224,20,4,19.776,4,19.5v-15C4,4.224,4.224,4,4.5,4h15C19.776,4,20,4.224,20,4.5V19.5z"></path><path d="M17.983,17.371l-2.143-8c-0.056-0.208-0.238-0.357-0.453-0.37c-0.222-0.013-0.414,0.113-0.494,0.312l-2.061,5.125 l-1.911-1.569c-0.12-0.099-0.278-0.135-0.43-0.101c-0.151,0.035-0.278,0.14-0.342,0.28l-1.938,4.245 c-0.07,0.155-0.058,0.335,0.035,0.478C8.338,17.914,8.497,18,8.667,18H17.5c0.155,0,0.302-0.072,0.396-0.196 C17.991,17.682,18.023,17.521,17.983,17.371z"></path><circle cx="9" cy="9" r="2.5"></circle></svg><span class="sr-only">Get image</span></a></div></div><div class="BlockTitle__BlockChartControls-nuxb31-6 bcoAoM BlockChartControls"><div class="ButtonGroup-sc-1k32jr0-0 dRuaES"><button class="Button-tirokp-0 dwxRHq Button--selected Button Button--selected"><span data-key="chart_units.percentage" class="t">Percents</span></button><button class="Button-tirokp-0 dwxRHq Button--unselected Button Button--unselected"><span data-key="chart_units.count" class="t">Count</span></button></div></div></div></div></div></div><div class="BlockTitle__BlockTitleActionsWrapper-nuxb31-8 bzxYzw"><div class="BlockExport__ButtonWrapper-sc-1gwpler-2 hjHqeU BlockExport"><button class="Button-tirokp-0 BlockExport__ExportButton-sc-1gwpler-3 dwxRHq jOWEGs ExportButton Button ExportButton"><span data-key="export.export" class="t">Export</span></button></div><div class="ShareBlock__Container-awxqfs-0 eghido ShareBlock Block__Title__Share"><div class="ShareBlock__ButtonWrapper-awxqfs-1 cAwBhT"><button class="Button-tirokp-0 ShareBlock__ShareButton-awxqfs-2 dwxRHq ShareButton Button ShareButton" aria-haspopup="menu" aria-expanded="false"><span data-key="share.share" class="t">Share</span></button></div><div class="ShareBlock__Popup-awxqfs-4 hnxXLV ShareBlock__Popup"><a href="https://twitter.com/intent/tweet/?text=%23StateOfJS%202020%3A%20Custom%20Elements%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fcustom_elements" target="_blank" rel="noopener noreferrer" aria-label="Share on Twitter" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--twitter"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M23.444,4.834c-0.814,0.363-1.5,0.375-2.228,0.016c0.938-0.562,0.981-0.957,1.32-2.019c-0.878,0.521-1.851,0.9-2.886,1.104 C18.823,3.053,17.642,2.5,16.335,2.5c-2.51,0-4.544,2.036-4.544,4.544c0,0.356,0.04,0.703,0.117,1.036 C8.132,7.891,4.783,6.082,2.542,3.332C2.151,4.003,1.927,4.784,1.927,5.617c0,1.577,0.803,2.967,2.021,3.782 C3.203,9.375,2.503,9.171,1.891,8.831C1.89,8.85,1.89,8.868,1.89,8.888c0,2.202,1.566,4.038,3.646,4.456 c-0.666,0.181-1.368,0.209-2.053,0.079c0.579,1.804,2.257,3.118,4.245,3.155C5.783,18.102,3.372,18.737,1,18.459 C3.012,19.748,5.399,20.5,7.966,20.5c8.358,0,12.928-6.924,12.928-12.929c0-0.198-0.003-0.393-0.012-0.588 C21.769,6.343,22.835,5.746,23.444,4.834z"></path></svg><span class="sr-only">Share on Twitter</span></a><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fcustom_elements" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--facebook"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M18.768,7.465H14.5V5.56c0-0.896,0.594-1.105,1.012-1.105s2.988,0,2.988,0V0.513L14.171,0.5C10.244,0.5,9.5,3.438,9.5,5.32 v2.145h-3v4h3c0,5.212,0,12,0,12h5c0,0,0-6.85,0-12h3.851L18.768,7.465z"></path></svg><span class="sr-only">Share on Facebook</span></a><a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fcustom_elements&title=Custom Elements&summary=" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--linkedin"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path></svg><span class="sr-only">Share on LinkedIn</span></a><a href="mailto:?subject=State%20of%20JS%202020%20Survey%20Results&body=Here%20are%20some%20interesting%20survey%20results%20(Custom%20Elements)%3A%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fcustom_elements" target="_self" aria-label="Share by email" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--email"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M22,4H2C0.897,4,0,4.897,0,6v12c0,1.103,0.897,2,2,2h20c1.103,0,2-0.897,2-2V6C24,4.897,23.103,4,22,4z M7.248,14.434 l-3.5,2C3.67,16.479,3.584,16.5,3.5,16.5c-0.174,0-0.342-0.09-0.435-0.252c-0.137-0.239-0.054-0.545,0.186-0.682l3.5-2 c0.24-0.137,0.545-0.054,0.682,0.186C7.571,13.992,7.488,14.297,7.248,14.434z M12,14.5c-0.094,0-0.189-0.026-0.271-0.08l-8.5-5.5 C2.997,8.77,2.93,8.46,3.081,8.229c0.15-0.23,0.459-0.298,0.691-0.147L12,13.405l8.229-5.324c0.232-0.15,0.542-0.084,0.691,0.147 c0.15,0.232,0.083,0.542-0.148,0.691l-8.5,5.5C12.189,14.474,12.095,14.5,12,14.5z M20.934,16.248 C20.842,16.41,20.673,16.5,20.5,16.5c-0.084,0-0.169-0.021-0.248-0.065l-3.5-2c-0.24-0.137-0.323-0.442-0.186-0.682 s0.443-0.322,0.682-0.186l3.5,2C20.988,15.703,21.071,16.009,20.934,16.248z"></path></svg><span class="sr-only">Share by email</span></a><a href="https://stateofx-images.netlify.app/captures/js2020/en-US/custom_elements.png" target="_blank" rel="noopener noreferrer" aria-label="Get image" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--image"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M22.486,17.236l1.05-1.458c0.125-0.175,0.125-0.409,0-0.584l-1.049-1.459l1.049-1.458c0.125-0.175,0.125-0.41,0-0.584 l-1.049-1.455l1.049-1.457c0.126-0.174,0.125-0.41,0-0.585l-1.048-1.451l1.049-1.455c0.125-0.175,0.125-0.411,0-0.585 l-1.085-1.506l0.943-1.925c0.094-0.192,0.056-0.423-0.096-0.574c-0.15-0.151-0.381-0.189-0.573-0.096l-1.932,0.945L19.28,0.464 c-0.175-0.126-0.41-0.125-0.583,0l-1.461,1.05l-1.457-1.049c-0.175-0.126-0.41-0.126-0.584,0l-1.459,1.049l-1.457-1.049 c-0.174-0.126-0.41-0.126-0.585,0l-1.455,1.049L8.781,0.465c-0.174-0.126-0.41-0.126-0.585,0L6.745,1.513L5.29,0.465 c-0.175-0.126-0.411-0.126-0.584,0L3.198,1.549L1.273,0.606C1.084,0.514,0.852,0.551,0.7,0.702 c-0.151,0.15-0.19,0.382-0.096,0.573l0.945,1.932L0.464,4.72c-0.125,0.174-0.125,0.41,0,0.583l1.05,1.461l-1.05,1.457 c-0.125,0.174-0.125,0.409,0,0.584l1.049,1.46l-1.049,1.458c-0.125,0.174-0.125,0.41,0,0.584l1.049,1.455L0.464,15.22 c-0.126,0.174-0.125,0.411,0,0.585l1.048,1.452l-1.049,1.454c-0.125,0.175-0.125,0.41,0,0.585l1.085,1.506l-0.943,1.925 c-0.094,0.192-0.056,0.422,0.096,0.574c0.151,0.151,0.383,0.189,0.573,0.095l1.932-0.944l1.513,1.085 c0.174,0.125,0.409,0.125,0.583,0l1.461-1.051l1.457,1.05c0.174,0.126,0.409,0.126,0.584,0l1.459-1.049l1.457,1.049 c0.174,0.126,0.41,0.126,0.585,0l1.455-1.049l1.458,1.049c0.087,0.063,0.189,0.094,0.292,0.094c0.102,0,0.206-0.032,0.293-0.095 l1.451-1.048l1.456,1.049c0.175,0.126,0.411,0.126,0.584,0l1.507-1.084l1.925,0.942c0.192,0.094,0.424,0.056,0.575-0.098 c0.151-0.152,0.188-0.385,0.091-0.577l-0.94-1.865l1.088-1.583c0.119-0.174,0.117-0.404-0.006-0.575L22.486,17.236z M20,19.5 c0,0.276-0.224,0.5-0.5,0.5h-15C4.224,20,4,19.776,4,19.5v-15C4,4.224,4.224,4,4.5,4h15C19.776,4,20,4.224,20,4.5V19.5z"></path><path d="M17.983,17.371l-2.143-8c-0.056-0.208-0.238-0.357-0.453-0.37c-0.222-0.013-0.414,0.113-0.494,0.312l-2.061,5.125 l-1.911-1.569c-0.12-0.099-0.278-0.135-0.43-0.101c-0.151,0.035-0.278,0.14-0.342,0.28l-1.938,4.245 c-0.07,0.155-0.058,0.335,0.035,0.478C8.338,17.914,8.497,18,8.667,18H17.5c0.155,0,0.302-0.072,0.396-0.196 C17.991,17.682,18.023,17.521,17.983,17.371z"></path><circle cx="9" cy="9" r="2.5"></circle></svg><span class="sr-only">Get image</span></a></div></div></div></div><div class="BlockTitle__BlockTitleSwitcherWrapper-nuxb31-9 aNaBd"><div class="BlockTitle__BlockChartControls-nuxb31-6 bcoAoM BlockChartControls"><div class="ButtonGroup-sc-1k32jr0-0 dRuaES"><button class="Button-tirokp-0 dwxRHq Button--selected Button Button--selected"><span data-key="chart_units.percentage" class="t">Percents</span></button><button class="Button-tirokp-0 dwxRHq Button--unselected Button Button--unselected"><span data-key="chart_units.count" class="t">Count</span></button></div></div></div></div><div class="BlockTitle__Description-nuxb31-5 hmJkhL Block__Description"><span data-key="browser_apis.custom_elements.description" class="t t-override"> Web Components is a suite of different technologies allowing you to create reusable custom elements — with their functionality encapsulated away from the rest of your code — and utilize them in your web apps. </span></div><div class="Block__Contents"><div class="FeatureExperienceBlock__Row-sc-1rrr2zp-0 hfkBgM"><h4 class="FeatureExperienceBlock__RowYear-sc-1rrr2zp-1 eBigms">2020</h4><div class="ChartContainer__ChartContainerOuter-edfgx0-0 cUpOwA ChartContainerOuter FeatureChart" style="height:40px"><div class="ChartContainer__Container-edfgx0-1 xUamw ChartContainer" style="height:40px"><div class="ChartContainer__ChartContainerInner-edfgx0-2 gpvRnu ChartContainerInner" style="height:40px"><div style="width:100%;height:100%"></div></div></div></div></div></div><table class="BlockLegends__Container-x2sx8r-0 eZbJfN Block__Legends"><tbody class="BlockLegends__ContainerInner-x2sx8r-1 dxTlgm"><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#41c7c7" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Have used it</td></tr><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#1d7e7e" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Know about it</td></tr><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#cecdcc" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Never heard of it</td></tr></tbody></table></div><div id="shadow_dom" class="Block__Container-sc-11g8wz8-0 bglUIQ Block Block--shadow_dom"><div class="BlockTitle__StyledBlockTitle-nuxb31-2 dAAPyT Block__Title"><div class="BlockTitle__LeftPart-nuxb31-4 iCAAeX"><h3 class="BlockTitle__BlockTitleText-nuxb31-3 iivsMM BlockTitleText"><a class="SharePermalink__Link-ndc8lc-0 gJOVcJ SharePermalink share__link" href="https://2020.stateofjs.com/en-US/features/browser-apis/shadow_dom" target="_blank" rel="noopener noreferrer" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g id="Filled_Icons_1_"><g id="Filled_Icons"><path d="M14.474,10.232l-0.706-0.706C12.208,7.966,9.67,7.964,8.11,9.525l-4.597,4.597c-1.56,1.56-1.56,4.097,0,5.657 l0.707,0.706c0.756,0.757,1.76,1.173,2.829,1.173c1.068,0,2.072-0.417,2.827-1.172l2.173-2.171c0.391-0.391,0.391-1.024,0-1.414 c-0.391-0.392-1.023-0.392-1.414,0l-2.173,2.17c-0.755,0.756-2.071,0.757-2.828,0l-0.707-0.706c-0.779-0.781-0.779-2.049,0-2.829 l4.597-4.596c0.756-0.756,2.073-0.756,2.828,0l0.707,0.707c0.391,0.391,1.023,0.391,1.414,0 C14.864,11.256,14.864,10.623,14.474,10.232z"></path><path d="M20.486,4.221l-0.707-0.706c-0.756-0.757-1.76-1.173-2.829-1.173c-1.068,0-2.072,0.418-2.827,1.172L12.135,5.5 c-0.391,0.391-0.391,1.024,0,1.414c0.391,0.392,1.023,0.392,1.414,0l1.988-1.984c0.755-0.756,2.071-0.757,2.828,0l0.707,0.706 c0.779,0.78,0.779,2.049,0,2.829l-4.597,4.596c-0.756,0.756-2.073,0.756-2.828,0c-0.391-0.391-1.024-0.391-1.414,0 c-0.391,0.391-0.392,1.023-0.001,1.414c1.56,1.562,4.098,1.562,5.657,0.001l4.597-4.597C22.046,8.319,22.046,5.781,20.486,4.221z"></path></g></g><rect fill="none" width="24" height="24" id="Frames-24px"></rect></svg></a><a href="https://developer.mozilla.org/en-US/docs/Web/Web_Components">Shadow DOM</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bHsPNt CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>92.6<!-- -->%</strong> <span>(<!-- -->22000<!-- -->)</span></div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>92.6<!-- -->%</strong> <span>(<!-- -->22000<!-- -->)</span></div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 hNsnqo"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(92.6 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 cJwfmm"></circle></svg></div></h3><div class="Popover__Container-sc-3zqg9-0 fxzssI Popover Popover--bottom _is-closed"><div class="Popover__PopoverInner-sc-3zqg9-1 iFJNkp PopoverInner"><button aria-expanded="false" aria-haspopup="[object Object]" aria-controls="[object Object]" class="Button-tirokp-0 BlockTitle__MoreButton-nuxb31-1 jrlGls jDLsKE Button"><span class="BlockTitle__ScreenReadersHint-nuxb31-0 dbINfu">[en-US] general.more_actions</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" x="0" y="0" viewBox="0 0 24 24"><g><g fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"><circle cx="3" cy="12" r="2.5"></circle><circle cx="12" cy="12" r="2.5"></circle><circle cx="21" cy="12" r="2.5"></circle></g></g><path fill="none" d="M0 0H24V24H0z"></path></svg></button><div class="Popover__PopoverPopup-sc-3zqg9-3 edvQGu PopoverPopup" id="PopoverPopup"><div class="BlockTitle__PopoverContents-nuxb31-7 fNQoWU"><div class="BlockExport__ButtonWrapper-sc-1gwpler-2 hjHqeU BlockExport"><button class="Button-tirokp-0 BlockExport__ExportButton-sc-1gwpler-3 dwxRHq jOWEGs ExportButton Button ExportButton"><span data-key="export.export" class="t">Export</span></button></div><div class="ShareBlock__Container-awxqfs-0 eghido ShareBlock Block__Title__Share"><div class="ShareBlock__ButtonWrapper-awxqfs-1 cAwBhT"><button class="Button-tirokp-0 ShareBlock__ShareButton-awxqfs-2 dwxRHq ShareButton Button ShareButton" aria-haspopup="menu" aria-expanded="false"><span data-key="share.share" class="t">Share</span></button></div><div class="ShareBlock__Popup-awxqfs-4 hnxXLV ShareBlock__Popup"><a href="https://twitter.com/intent/tweet/?text=%23StateOfJS%202020%3A%20Shadow%20DOM%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fshadow_dom" target="_blank" rel="noopener noreferrer" aria-label="Share on Twitter" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--twitter"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M23.444,4.834c-0.814,0.363-1.5,0.375-2.228,0.016c0.938-0.562,0.981-0.957,1.32-2.019c-0.878,0.521-1.851,0.9-2.886,1.104 C18.823,3.053,17.642,2.5,16.335,2.5c-2.51,0-4.544,2.036-4.544,4.544c0,0.356,0.04,0.703,0.117,1.036 C8.132,7.891,4.783,6.082,2.542,3.332C2.151,4.003,1.927,4.784,1.927,5.617c0,1.577,0.803,2.967,2.021,3.782 C3.203,9.375,2.503,9.171,1.891,8.831C1.89,8.85,1.89,8.868,1.89,8.888c0,2.202,1.566,4.038,3.646,4.456 c-0.666,0.181-1.368,0.209-2.053,0.079c0.579,1.804,2.257,3.118,4.245,3.155C5.783,18.102,3.372,18.737,1,18.459 C3.012,19.748,5.399,20.5,7.966,20.5c8.358,0,12.928-6.924,12.928-12.929c0-0.198-0.003-0.393-0.012-0.588 C21.769,6.343,22.835,5.746,23.444,4.834z"></path></svg><span class="sr-only">Share on Twitter</span></a><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fshadow_dom" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--facebook"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M18.768,7.465H14.5V5.56c0-0.896,0.594-1.105,1.012-1.105s2.988,0,2.988,0V0.513L14.171,0.5C10.244,0.5,9.5,3.438,9.5,5.32 v2.145h-3v4h3c0,5.212,0,12,0,12h5c0,0,0-6.85,0-12h3.851L18.768,7.465z"></path></svg><span class="sr-only">Share on Facebook</span></a><a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fshadow_dom&title=Shadow DOM&summary=" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--linkedin"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path></svg><span class="sr-only">Share on LinkedIn</span></a><a href="mailto:?subject=State%20of%20JS%202020%20Survey%20Results&body=Here%20are%20some%20interesting%20survey%20results%20(Shadow%20DOM)%3A%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fshadow_dom" target="_self" aria-label="Share by email" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--email"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M22,4H2C0.897,4,0,4.897,0,6v12c0,1.103,0.897,2,2,2h20c1.103,0,2-0.897,2-2V6C24,4.897,23.103,4,22,4z M7.248,14.434 l-3.5,2C3.67,16.479,3.584,16.5,3.5,16.5c-0.174,0-0.342-0.09-0.435-0.252c-0.137-0.239-0.054-0.545,0.186-0.682l3.5-2 c0.24-0.137,0.545-0.054,0.682,0.186C7.571,13.992,7.488,14.297,7.248,14.434z M12,14.5c-0.094,0-0.189-0.026-0.271-0.08l-8.5-5.5 C2.997,8.77,2.93,8.46,3.081,8.229c0.15-0.23,0.459-0.298,0.691-0.147L12,13.405l8.229-5.324c0.232-0.15,0.542-0.084,0.691,0.147 c0.15,0.232,0.083,0.542-0.148,0.691l-8.5,5.5C12.189,14.474,12.095,14.5,12,14.5z M20.934,16.248 C20.842,16.41,20.673,16.5,20.5,16.5c-0.084,0-0.169-0.021-0.248-0.065l-3.5-2c-0.24-0.137-0.323-0.442-0.186-0.682 s0.443-0.322,0.682-0.186l3.5,2C20.988,15.703,21.071,16.009,20.934,16.248z"></path></svg><span class="sr-only">Share by email</span></a><a href="https://stateofx-images.netlify.app/captures/js2020/en-US/shadow_dom.png" target="_blank" rel="noopener noreferrer" aria-label="Get image" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--image"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M22.486,17.236l1.05-1.458c0.125-0.175,0.125-0.409,0-0.584l-1.049-1.459l1.049-1.458c0.125-0.175,0.125-0.41,0-0.584 l-1.049-1.455l1.049-1.457c0.126-0.174,0.125-0.41,0-0.585l-1.048-1.451l1.049-1.455c0.125-0.175,0.125-0.411,0-0.585 l-1.085-1.506l0.943-1.925c0.094-0.192,0.056-0.423-0.096-0.574c-0.15-0.151-0.381-0.189-0.573-0.096l-1.932,0.945L19.28,0.464 c-0.175-0.126-0.41-0.125-0.583,0l-1.461,1.05l-1.457-1.049c-0.175-0.126-0.41-0.126-0.584,0l-1.459,1.049l-1.457-1.049 c-0.174-0.126-0.41-0.126-0.585,0l-1.455,1.049L8.781,0.465c-0.174-0.126-0.41-0.126-0.585,0L6.745,1.513L5.29,0.465 c-0.175-0.126-0.411-0.126-0.584,0L3.198,1.549L1.273,0.606C1.084,0.514,0.852,0.551,0.7,0.702 c-0.151,0.15-0.19,0.382-0.096,0.573l0.945,1.932L0.464,4.72c-0.125,0.174-0.125,0.41,0,0.583l1.05,1.461l-1.05,1.457 c-0.125,0.174-0.125,0.409,0,0.584l1.049,1.46l-1.049,1.458c-0.125,0.174-0.125,0.41,0,0.584l1.049,1.455L0.464,15.22 c-0.126,0.174-0.125,0.411,0,0.585l1.048,1.452l-1.049,1.454c-0.125,0.175-0.125,0.41,0,0.585l1.085,1.506l-0.943,1.925 c-0.094,0.192-0.056,0.422,0.096,0.574c0.151,0.151,0.383,0.189,0.573,0.095l1.932-0.944l1.513,1.085 c0.174,0.125,0.409,0.125,0.583,0l1.461-1.051l1.457,1.05c0.174,0.126,0.409,0.126,0.584,0l1.459-1.049l1.457,1.049 c0.174,0.126,0.41,0.126,0.585,0l1.455-1.049l1.458,1.049c0.087,0.063,0.189,0.094,0.292,0.094c0.102,0,0.206-0.032,0.293-0.095 l1.451-1.048l1.456,1.049c0.175,0.126,0.411,0.126,0.584,0l1.507-1.084l1.925,0.942c0.192,0.094,0.424,0.056,0.575-0.098 c0.151-0.152,0.188-0.385,0.091-0.577l-0.94-1.865l1.088-1.583c0.119-0.174,0.117-0.404-0.006-0.575L22.486,17.236z M20,19.5 c0,0.276-0.224,0.5-0.5,0.5h-15C4.224,20,4,19.776,4,19.5v-15C4,4.224,4.224,4,4.5,4h15C19.776,4,20,4.224,20,4.5V19.5z"></path><path d="M17.983,17.371l-2.143-8c-0.056-0.208-0.238-0.357-0.453-0.37c-0.222-0.013-0.414,0.113-0.494,0.312l-2.061,5.125 l-1.911-1.569c-0.12-0.099-0.278-0.135-0.43-0.101c-0.151,0.035-0.278,0.14-0.342,0.28l-1.938,4.245 c-0.07,0.155-0.058,0.335,0.035,0.478C8.338,17.914,8.497,18,8.667,18H17.5c0.155,0,0.302-0.072,0.396-0.196 C17.991,17.682,18.023,17.521,17.983,17.371z"></path><circle cx="9" cy="9" r="2.5"></circle></svg><span class="sr-only">Get image</span></a></div></div><div class="BlockTitle__BlockChartControls-nuxb31-6 bcoAoM BlockChartControls"><div class="ButtonGroup-sc-1k32jr0-0 dRuaES"><button class="Button-tirokp-0 dwxRHq Button--selected Button Button--selected"><span data-key="chart_units.percentage" class="t">Percents</span></button><button class="Button-tirokp-0 dwxRHq Button--unselected Button Button--unselected"><span data-key="chart_units.count" class="t">Count</span></button></div></div></div></div></div></div><div class="BlockTitle__BlockTitleActionsWrapper-nuxb31-8 bzxYzw"><div class="BlockExport__ButtonWrapper-sc-1gwpler-2 hjHqeU BlockExport"><button class="Button-tirokp-0 BlockExport__ExportButton-sc-1gwpler-3 dwxRHq jOWEGs ExportButton Button ExportButton"><span data-key="export.export" class="t">Export</span></button></div><div class="ShareBlock__Container-awxqfs-0 eghido ShareBlock Block__Title__Share"><div class="ShareBlock__ButtonWrapper-awxqfs-1 cAwBhT"><button class="Button-tirokp-0 ShareBlock__ShareButton-awxqfs-2 dwxRHq ShareButton Button ShareButton" aria-haspopup="menu" aria-expanded="false"><span data-key="share.share" class="t">Share</span></button></div><div class="ShareBlock__Popup-awxqfs-4 hnxXLV ShareBlock__Popup"><a href="https://twitter.com/intent/tweet/?text=%23StateOfJS%202020%3A%20Shadow%20DOM%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fshadow_dom" target="_blank" rel="noopener noreferrer" aria-label="Share on Twitter" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--twitter"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M23.444,4.834c-0.814,0.363-1.5,0.375-2.228,0.016c0.938-0.562,0.981-0.957,1.32-2.019c-0.878,0.521-1.851,0.9-2.886,1.104 C18.823,3.053,17.642,2.5,16.335,2.5c-2.51,0-4.544,2.036-4.544,4.544c0,0.356,0.04,0.703,0.117,1.036 C8.132,7.891,4.783,6.082,2.542,3.332C2.151,4.003,1.927,4.784,1.927,5.617c0,1.577,0.803,2.967,2.021,3.782 C3.203,9.375,2.503,9.171,1.891,8.831C1.89,8.85,1.89,8.868,1.89,8.888c0,2.202,1.566,4.038,3.646,4.456 c-0.666,0.181-1.368,0.209-2.053,0.079c0.579,1.804,2.257,3.118,4.245,3.155C5.783,18.102,3.372,18.737,1,18.459 C3.012,19.748,5.399,20.5,7.966,20.5c8.358,0,12.928-6.924,12.928-12.929c0-0.198-0.003-0.393-0.012-0.588 C21.769,6.343,22.835,5.746,23.444,4.834z"></path></svg><span class="sr-only">Share on Twitter</span></a><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fshadow_dom" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--facebook"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M18.768,7.465H14.5V5.56c0-0.896,0.594-1.105,1.012-1.105s2.988,0,2.988,0V0.513L14.171,0.5C10.244,0.5,9.5,3.438,9.5,5.32 v2.145h-3v4h3c0,5.212,0,12,0,12h5c0,0,0-6.85,0-12h3.851L18.768,7.465z"></path></svg><span class="sr-only">Share on Facebook</span></a><a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fshadow_dom&title=Shadow DOM&summary=" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--linkedin"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path></svg><span class="sr-only">Share on LinkedIn</span></a><a href="mailto:?subject=State%20of%20JS%202020%20Survey%20Results&body=Here%20are%20some%20interesting%20survey%20results%20(Shadow%20DOM)%3A%20https%3A%2F%2F2020.stateofjs.com%2Fen-US%2Ffeatures%2Fbrowser-apis%2Fshadow_dom" target="_self" aria-label="Share by email" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--email"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M22,4H2C0.897,4,0,4.897,0,6v12c0,1.103,0.897,2,2,2h20c1.103,0,2-0.897,2-2V6C24,4.897,23.103,4,22,4z M7.248,14.434 l-3.5,2C3.67,16.479,3.584,16.5,3.5,16.5c-0.174,0-0.342-0.09-0.435-0.252c-0.137-0.239-0.054-0.545,0.186-0.682l3.5-2 c0.24-0.137,0.545-0.054,0.682,0.186C7.571,13.992,7.488,14.297,7.248,14.434z M12,14.5c-0.094,0-0.189-0.026-0.271-0.08l-8.5-5.5 C2.997,8.77,2.93,8.46,3.081,8.229c0.15-0.23,0.459-0.298,0.691-0.147L12,13.405l8.229-5.324c0.232-0.15,0.542-0.084,0.691,0.147 c0.15,0.232,0.083,0.542-0.148,0.691l-8.5,5.5C12.189,14.474,12.095,14.5,12,14.5z M20.934,16.248 C20.842,16.41,20.673,16.5,20.5,16.5c-0.084,0-0.169-0.021-0.248-0.065l-3.5-2c-0.24-0.137-0.323-0.442-0.186-0.682 s0.443-0.322,0.682-0.186l3.5,2C20.988,15.703,21.071,16.009,20.934,16.248z"></path></svg><span class="sr-only">Share by email</span></a><a href="https://stateofx-images.netlify.app/captures/js2020/en-US/shadow_dom.png" target="_blank" rel="noopener noreferrer" aria-label="Get image" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--image"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M22.486,17.236l1.05-1.458c0.125-0.175,0.125-0.409,0-0.584l-1.049-1.459l1.049-1.458c0.125-0.175,0.125-0.41,0-0.584 l-1.049-1.455l1.049-1.457c0.126-0.174,0.125-0.41,0-0.585l-1.048-1.451l1.049-1.455c0.125-0.175,0.125-0.411,0-0.585 l-1.085-1.506l0.943-1.925c0.094-0.192,0.056-0.423-0.096-0.574c-0.15-0.151-0.381-0.189-0.573-0.096l-1.932,0.945L19.28,0.464 c-0.175-0.126-0.41-0.125-0.583,0l-1.461,1.05l-1.457-1.049c-0.175-0.126-0.41-0.126-0.584,0l-1.459,1.049l-1.457-1.049 c-0.174-0.126-0.41-0.126-0.585,0l-1.455,1.049L8.781,0.465c-0.174-0.126-0.41-0.126-0.585,0L6.745,1.513L5.29,0.465 c-0.175-0.126-0.411-0.126-0.584,0L3.198,1.549L1.273,0.606C1.084,0.514,0.852,0.551,0.7,0.702 c-0.151,0.15-0.19,0.382-0.096,0.573l0.945,1.932L0.464,4.72c-0.125,0.174-0.125,0.41,0,0.583l1.05,1.461l-1.05,1.457 c-0.125,0.174-0.125,0.409,0,0.584l1.049,1.46l-1.049,1.458c-0.125,0.174-0.125,0.41,0,0.584l1.049,1.455L0.464,15.22 c-0.126,0.174-0.125,0.411,0,0.585l1.048,1.452l-1.049,1.454c-0.125,0.175-0.125,0.41,0,0.585l1.085,1.506l-0.943,1.925 c-0.094,0.192-0.056,0.422,0.096,0.574c0.151,0.151,0.383,0.189,0.573,0.095l1.932-0.944l1.513,1.085 c0.174,0.125,0.409,0.125,0.583,0l1.461-1.051l1.457,1.05c0.174,0.126,0.409,0.126,0.584,0l1.459-1.049l1.457,1.049 c0.174,0.126,0.41,0.126,0.585,0l1.455-1.049l1.458,1.049c0.087,0.063,0.189,0.094,0.292,0.094c0.102,0,0.206-0.032,0.293-0.095 l1.451-1.048l1.456,1.049c0.175,0.126,0.411,0.126,0.584,0l1.507-1.084l1.925,0.942c0.192,0.094,0.424,0.056,0.575-0.098 c0.151-0.152,0.188-0.385,0.091-0.577l-0.94-1.865l1.088-1.583c0.119-0.174,0.117-0.404-0.006-0.575L22.486,17.236z M20,19.5 c0,0.276-0.224,0.5-0.5,0.5h-15C4.224,20,4,19.776,4,19.5v-15C4,4.224,4.224,4,4.5,4h15C19.776,4,20,4.224,20,4.5V19.5z"></path><path d="M17.983,17.371l-2.143-8c-0.056-0.208-0.238-0.357-0.453-0.37c-0.222-0.013-0.414,0.113-0.494,0.312l-2.061,5.125 l-1.911-1.569c-0.12-0.099-0.278-0.135-0.43-0.101c-0.151,0.035-0.278,0.14-0.342,0.28l-1.938,4.245 c-0.07,0.155-0.058,0.335,0.035,0.478C8.338,17.914,8.497,18,8.667,18H17.5c0.155,0,0.302-0.072,0.396-0.196 C17.991,17.682,18.023,17.521,17.983,17.371z"></path><circle cx="9" cy="9" r="2.5"></circle></svg><span class="sr-only">Get image</span></a></div></div></div></div><div class="BlockTitle__BlockTitleSwitcherWrapper-nuxb31-9 aNaBd"><div class="BlockTitle__BlockChartControls-nuxb31-6 bcoAoM BlockChartControls"><div class="ButtonGroup-sc-1k32jr0-0 dRuaES"><button class="Button-tirokp-0 dwxRHq Button--selected Button Button--selected"><span data-key="chart_units.percentage" class="t">Percents</span></button><button class="Button-tirokp-0 dwxRHq Button--unselected Button Button--unselected"><span data-key="chart_units.count" class="t">Count</span></button></div></div></div></div><div class="BlockTitle__Description-nuxb31-5 hmJkhL Block__Description"><span data-key="browser_apis.shadow_dom.description" class="t t-override"> Web Components is a suite of different technologies allowing you to create reusable custom elements — with their functionality encapsulated away from the rest of your code — and utilize them in your web apps. </span></div><div class="Block__Contents"><div class="FeatureExperienceBlock__Row-sc-1rrr2zp-0 hfkBgM"><h4 class="FeatureExperienceBlock__RowYear-sc-1rrr2zp-1 eBigms">2020</h4><div class="ChartContainer__ChartContainerOuter-edfgx0-0 cUpOwA ChartContainerOuter FeatureChart" style="height:40px"><div class="ChartContainer__Container-edfgx0-1 xUamw ChartContainer" style="height:40px"><div class="ChartContainer__ChartContainerInner-edfgx0-2 gpvRnu ChartContainerInner" style="height:40px"><div style="width:100%;height:100%"></div></div></div></div></div></div><table class="BlockLegends__Container-x2sx8r-0 eZbJfN Block__Legends"><tbody class="BlockLegends__ContainerInner-x2sx8r-1 dxTlgm"><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#41c7c7" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Have used it</td></tr><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#1d7e7e" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Know about it</td></tr><tr class="BlockLegendsItem__Container-sc-9fsuse-0 hhWSdE Legends__Item Legends__Item--withKeyLabel"><th class="BlockLegendsItem__ChipWrapper-sc-9fsuse-1 cunMmr"><div style="width:16px;height:16px;background:#cecdcc" class="BlockLegendsItem__Chip-sc-9fsuse-2 kyYoiV"></div></th><td class="BlockLegendsItem__Label-sc-9fsuse-4 cngVNh Legends__Item__Label">Never heard of it</td></tr></tbody></table></div><div class="Block"><div class="resources"><div class="BlockTitle__StyledBlockTitle-nuxb31-2 dAAPyT Block__Title"><div class="BlockTitle__LeftPart-nuxb31-4 iCAAeX"><h3 class="BlockTitle__BlockTitleText-nuxb31-3 iivsMM BlockTitleText"><a class="SharePermalink__Link-ndc8lc-0 gJOVcJ SharePermalink share__link" href="https://2020.stateofjs.com/en-US/features/browser-apis/browser_apis_resources" target="_blank" rel="noopener noreferrer" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g id="Filled_Icons_1_"><g id="Filled_Icons"><path d="M14.474,10.232l-0.706-0.706C12.208,7.966,9.67,7.964,8.11,9.525l-4.597,4.597c-1.56,1.56-1.56,4.097,0,5.657 l0.707,0.706c0.756,0.757,1.76,1.173,2.829,1.173c1.068,0,2.072-0.417,2.827-1.172l2.173-2.171c0.391-0.391,0.391-1.024,0-1.414 c-0.391-0.392-1.023-0.392-1.414,0l-2.173,2.17c-0.755,0.756-2.071,0.757-2.828,0l-0.707-0.706c-0.779-0.781-0.779-2.049,0-2.829 l4.597-4.596c0.756-0.756,2.073-0.756,2.828,0l0.707,0.707c0.391,0.391,1.023,0.391,1.414,0 C14.864,11.256,14.864,10.623,14.474,10.232z"></path><path d="M20.486,4.221l-0.707-0.706c-0.756-0.757-1.76-1.173-2.829-1.173c-1.068,0-2.072,0.418-2.827,1.172L12.135,5.5 c-0.391,0.391-0.391,1.024,0,1.414c0.391,0.392,1.023,0.392,1.414,0l1.988-1.984c0.755-0.756,2.071-0.757,2.828,0l0.707,0.706 c0.779,0.78,0.779,2.049,0,2.829l-4.597,4.596c-0.756,0.756-2.073,0.756-2.828,0c-0.391-0.391-1.024-0.391-1.414,0 c-0.391,0.391-0.392,1.023-0.001,1.414c1.56,1.562,4.098,1.562,5.657,0.001l4.597-4.597C22.046,8.319,22.046,5.781,20.486,4.221z"></path></g></g><rect fill="none" width="24" height="24" id="Frames-24px"></rect></svg></a><span data-key="blocks.recommended_resources.title" class="t">Recommended Resources</span></h3><div class="Popover__Container-sc-3zqg9-0 fxzssI Popover Popover--bottom _is-closed"><div class="Popover__PopoverInner-sc-3zqg9-1 iFJNkp PopoverInner"><button aria-expanded="false" aria-haspopup="[object Object]" aria-controls="[object Object]" class="Button-tirokp-0 BlockTitle__MoreButton-nuxb31-1 jrlGls jDLsKE Button"><span class="BlockTitle__ScreenReadersHint-nuxb31-0 dbINfu">[en-US] general.more_actions</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" x="0" y="0" viewBox="0 0 24 24"><g><g fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"><circle cx="3" cy="12" r="2.5"></circle><circle cx="12" cy="12" r="2.5"></circle><circle cx="21" cy="12" r="2.5"></circle></g></g><path fill="none" d="M0 0H24V24H0z"></path></svg></button><div class="Popover__PopoverPopup-sc-3zqg9-3 edvQGu PopoverPopup" id="PopoverPopup"><div class="BlockTitle__PopoverContents-nuxb31-7 fNQoWU"></div></div></div></div><div class="BlockTitle__BlockTitleActionsWrapper-nuxb31-8 bzxYzw"></div></div><div class="BlockTitle__BlockTitleSwitcherWrapper-nuxb31-9 aNaBd"></div></div><div class="RecommendedResourcesBlock__List-sc-3eimjm-0 dvUnOd Resources__list"><div class="RecommendedResourcesBlock__Resource-sc-3eimjm-3 jvUgjO Resource"><div class="RecommendedResourcesBlock__ResourceImage-sc-3eimjm-4 gvBpbm Resource__image"><div class="RecommendedResourcesBlock__ResourceImageInner-sc-3eimjm-5 iQtyKk"><a href="https://frontendmasters.com/courses/canvas-webgl/?utm_source=stateofjs&utm_medium=website&utm_campaign=stateofjs2020&utm_content=textlink" style="background-image:url(https://static.frontendmasters.com/assets/teachers/deslauriers/thumb@2x.jpg)" title="Creative Coding with Canvas & WebGL">Creative Coding with Canvas & WebGL</a></div><div class="RecommendedResourcesBlock__ResourceTeacher-sc-3eimjm-8 dKEKtB">Matt DesLauriers</div></div><div class="RecommendedResourcesBlock__ResourceContent-sc-3eimjm-6 iBBKFF Resource__content"><h4 class="RecommendedResourcesBlock__Title-sc-3eimjm-1 gDvwNJ Resource__title"><a href="https://frontendmasters.com/courses/canvas-webgl/?utm_source=stateofjs&utm_medium=website&utm_campaign=stateofjs2020&utm_content=textlink">Creative Coding with Canvas & WebGL</a></h4><div class="RecommendedResourcesBlock__Description-sc-3eimjm-2 gLKNHc Resource__description">Learn to use Canvas and WebGL with ThreeJS in this JavaScript course on Creative Coding! </div></div></div></div><div class="RecommendedResourcesBlock__Sponsoring-sc-3eimjm-7 eQdAit Resources__sponsoring"><span data-key="partners.thanks" class="t">Thanks to our partners for supporting us!</span> <a href="/en-US/support"><span data-key="partners.learn_more" class="t">Learn more.</span></a></div></div></div></div><div class="PageFooter__Container-pu9659-0 jEYWnh"><div class="PageFooter__Nav-pu9659-1 dBJAfU"><a class="Button-tirokp-0 PageFooter__FooterLink-pu9659-3 PageFooter__PreviousLink-pu9659-4 jrlGls fLCcbb ecDXdZ PageFooter__Link PageFooter__Link--previous Button PageFooter__Link PageFooter__Link--previous" href="/en-US/features/data-structures/">«<!-- --> <span class="PageFooter__LinkLabel-pu9659-6 hEKYIR"><span data-key="page.previous" class="t">Previous:</span></span> <!-- -->Data Structures</a><a class="Button-tirokp-0 PageFooter__FooterLink-pu9659-3 PageFooter__NextLink-pu9659-5 jrlGls fLCcbb PageFooter__Link PageFooter__Link--next Button Button PageFooter__Link PageFooter__Link--next Button" href="/en-US/features/other-features/"><span class="PageFooter__LinkLabel-pu9659-6 hEKYIR"><span data-key="page.next" class="t">Next:</span></span> <!-- -->Other Features<!-- --> »</a></div><div class="PageFooter__Notes-pu9659-2 efIfui"><span data-key="general.charts_nivo" class="t">Charts built with <a href="https://nivo.rocks/">Nivo</a>.</span> <span data-key="general.netlify_link" class="t">Hosted by <a href="https://www.netlify.com">Netlify</a>.</span><br/><span data-key="general.leave_issue" class="t">Questions? Found a bug? <a href="https://github.com/StateOfJS/StateOfJS-2020" target="_blank">Leave an issue</a>.</span> <span data-key="general.join_discord" class="t">Join us on <a href="https://discord.gg/zRDb35jfrt">Discord</a>.</span></div></div></main></div></div></div></div><div id="gatsby-announcer" style="position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0" aria-live="assertive" aria-atomic="true"></div></div><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/en-US/features/browser-apis/";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"polyfill":["/polyfill-092c4c6a41bb38cca3d9.js"],"app":["/app-eaa307f84b08943b892a.js"],"component---src-core-pages-page-template-js":["/component---src-core-pages-page-template-js-2b78a8da8c7848bf20bb.js"],"component---src-core-share-share-block-template-js":["/component---src-core-share-share-block-template-js-5c6d182ad6eb170b733d.js"]};/*]]>*/</script><script src="/polyfill-092c4c6a41bb38cca3d9.js" nomodule=""></script><script src="/component---src-core-pages-page-template-js-2b78a8da8c7848bf20bb.js" async=""></script><script src="/styles-407fe62976dc5310c43e.js" async=""></script><script src="/app-eaa307f84b08943b892a.js" async=""></script><script src="/7616da28-658a2ca7170fc512347f.js" async=""></script><script src="/framework-4f6f4628cf10d856b9b4.js" async=""></script><script src="/webpack-runtime-bacbb8227f7a3f462f8b.js" async=""></script></body></html>