{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:13:40Z","timestamp":1750220020715,"version":"3.41.0"},"reference-count":72,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2023,2,23]],"date-time":"2023-02-23T00:00:00Z","timestamp":1677110400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"Hauts-de-France region in the context of the ASCOT project of the STaRS framework"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Internet Technol."],"published-print":{"date-parts":[[2023,2,28]]},"abstract":"<jats:p>While JavaScript established itself as a cornerstone of the modern web, it also constitutes a major tracking and security vector, thus raising critical privacy and security concerns. In this context, some browser extensions propose to systematically block scripts reported by crowdsourced trackers lists. However, this solution heavily depends on the quality of these built-in lists, which may be deprecated or incomplete, thus exposing the visitor to unknown trackers. In this article, we explore a different strategy by investigating the benefits of disabling JavaScript in the browser. More specifically, by adopting such a strict policy, we aim to quantify the JavaScript addiction of web elements composing a web page through the observation of web breakages. As there is no standard mechanism for detecting such breakages, we introduce a framework to inspect several page features when blocking JavaScript, that we deploy to analyze 6,384\u00a0pages, including landing and internal web pages. We discover that 43% of web pages are not strictly dependent on JavaScript and that more than 67% of pages are likely to be usable as long as the visitor only requires the content from the main section of the page, for which the user most likely reached the page, while reducing the number of tracking requests by\u00a085% on average. Finally, we discuss the viability of currently browsing the web without JavaScript and detail multiple incentives for websites to be kept usable without JavaScript.<\/jats:p>","DOI":"10.1145\/3579846","type":"journal-article","created":{"date-parts":[[2023,1,12]],"date-time":"2023-01-12T16:00:12Z","timestamp":1673539212000},"page":"1-28","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["<scp>Breaking Bad<\/scp>: Quantifying the Addiction of Web Elements to JavaScript"],"prefix":"10.1145","volume":"23","author":[{"given":"Romain","family":"Fouquet","sequence":"first","affiliation":[{"name":"Univ. Lille, Inria, CNRS, Centrale Lille, UMR CRIStAL, Lille, France"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Pierre","family":"Laperdrix","sequence":"additional","affiliation":[{"name":"CNRS, Univ Lille, Inria Lille, Lille, France"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Romain","family":"Rouvoy","sequence":"additional","affiliation":[{"name":"Univ.\u00a0Lille\/Inria\/IUF, Lille, France"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2023,2,23]]},"reference":[{"key":"e_1_3_2_2_2","unstructured":"2019. Semantic UI Documentation. Retrieved March 17 2021 from from https:\/\/semantic-ui.com\/introduction\/getting-started.html."},{"key":"e_1_3_2_3_2","unstructured":"2021. About Tailwind Elements. Retrieved August 10 2021 from https:\/\/tailwind-elements.com\/."},{"key":"e_1_3_2_4_2","unstructured":"2021. NuxtJS Homepage. Retrieved April 26 2021 from https:\/\/nuxtjs.org\/."},{"key":"e_1_3_2_5_2","unstructured":"2021. Svelte Website. Retrieved April 26 2021 from https:\/\/svelte.dev\/."},{"key":"e_1_3_2_6_2","doi-asserted-by":"publisher","DOI":"10.1145\/2660267.2660347"},{"key":"e_1_3_2_7_2","unstructured":"AliceWyman Wesley Branton Joni tomrittervg and user1632815. 2021. Mozilla Support\u2014Firefox\u2019s Protection against Fingerprinting. Retrieved May 5 2021 from https:\/\/support.mozilla.org\/en-US\/kb\/firefox-protection-against-fingerprinting."},{"key":"e_1_3_2_8_2","unstructured":"AliceWyman Michele Rodaro Joni Marcelo Ghelman Lamont Gardenhire Jeff Angela Lazar PGGWriter Samuelegrice@mymail.com and Fabi. 2021. Mozilla Support\u2014Enhanced Tracking Protection in Firefox for Desktop. Retrieved May 5 2021 from https:\/\/support.mozilla.org\/en-US\/kb\/enhanced-tracking-protection-firefox-desktop."},{"key":"e_1_3_2_9_2","unstructured":"Web Almanac and contributors. 2020. HTTP Archive Web Almanac\u2014JavaScript Usage. Retrieved April 25 2021 from https:\/\/almanac.httparchive.org\/en\/2020\/javascript#how-much-javascript-do-we-use."},{"key":"e_1_3_2_10_2","unstructured":"Web Almanac and contributors. 2020. HTTP Archive Web Almanac\u2014data-* Attributes. Retrieved March 18 2021 from https:\/\/almanac.httparchive.org\/en\/2020\/markup#data--attributes."},{"key":"e_1_3_2_11_2","unstructured":"Web Almanac and contributors. 2022. HTTP Archive Web Almanac\u2014How much JavaScript do we Load? Retrieved May 23 2022 from https:\/\/almanac.httparchive.org\/en\/2021\/javascript#how-much-javascript-do-we-load."},{"key":"e_1_3_2_12_2","unstructured":"Web Almanac and contributors. 2022. HTTP Archive Web Almanac\u2014Markup. Retrieved May 30 2022 from https:\/\/almanac.httparchive.org\/en\/2021\/markup#main."},{"key":"e_1_3_2_13_2","doi-asserted-by":"publisher","DOI":"10.1145\/3419394.3423626"},{"key":"e_1_3_2_14_2","unstructured":"Waqar Aqeel Balakrishnan Chandrasekaran Bruce Maggs and Anja Feldmann. 2021. Hispar List\u2014Archive. (2021). Retrieved May 5 2021 from https:\/\/hispar.cs.duke.edu\/archive\/hispar-list-21-01-28.zip."},{"key":"e_1_3_2_15_2","doi-asserted-by":"crossref","unstructured":"Moumena Chaqfeh Muhammad Haseeb Waleed Hashmi Patrick Inshuti Manesha Ramesh Matteo Varvello Fareed Zaffar Lakshmi Subramanian and Yasir Zaki. 2021. To block or not to block: Accelerating mobile web pages on-the-fly through JavaScript classification. arXiv:2106.13764. Retrieved from https:\/\/arxiv.org\/abs\/2106.13764.","DOI":"10.1145\/3572334.3572397"},{"key":"e_1_3_2_16_2","doi-asserted-by":"publisher","DOI":"10.1145\/3366423.3380157"},{"key":"e_1_3_2_17_2","volume-title":"Proceedings of the IEEE Symposium on Security and Privacy","author":"Chen Quan","year":"2021","unstructured":"Quan Chen, Peter Snyder, Benjamin Livshits, and Alexandros Kapravelos. 2021. Detecting filter list evasion with event-loop-turn granularity JavaScript signatures. In Proceedings of the IEEE Symposium on Security and Privacy."},{"key":"e_1_3_2_18_2","unstructured":"Rachel Costello. 2019. How JavaScript Rendering Works. Retrieved May 6 2021 from https:\/\/www.deepcrawl.com\/knowledge\/ebooks\/javascript-seo-guide\/how-javascript-rendering-works\/."},{"key":"e_1_3_2_19_2","doi-asserted-by":"publisher","DOI":"10.1145\/3243734.3243860"},{"key":"e_1_3_2_20_2","first-page":"387","volume-title":"Proceedings of the USENIX Annual Technical Conference (USENIX ATC\u201920)","author":"Din Zainul Abi","year":"2020","unstructured":"Zainul Abi Din, Panagiotis Tigas, Samuel T. King, and Benjamin Livshits. 2020. PERCIVAL: Making in-browser perceptual Ad blocking practical with deep learning. In Proceedings of the USENIX Annual Technical Conference (USENIX ATC\u201920). USENIX Association, 387\u2013400."},{"key":"e_1_3_2_21_2","unstructured":"Google. 2018. AngularJS Website. Retrieved April 26 2021 from https:\/\/angularjs.org\/."},{"key":"e_1_3_2_22_2","unstructured":"Google. 2019. Making JavaScript and Google Search Work Together. (2019). Retrieved May 6 2021 from https:\/\/web.dev\/javascript-and-google-search-io-2019\/."},{"key":"e_1_3_2_23_2","unstructured":"Google. 2019. web.dev\u2014Without JavaScript. Retrieved April 26 2021 from https:\/\/web.dev\/without-javascript\/."},{"key":"e_1_3_2_24_2","doi-asserted-by":"publisher","DOI":"10.1515\/popets-2015-0018"},{"key":"e_1_3_2_25_2","unstructured":"Bartosz G\u00f3ralewicz. 2017. Going Beyond Google: Are Search Engines Ready for JavaScript Crawling & Indexing? Retrieved May 6 2021 from https:\/\/moz.com\/blog\/search-engines-ready-for-javascript-crawling."},{"key":"e_1_3_2_26_2","unstructured":"Erik Hendriks Michael Xu and Kazushi Nagayama. 2014. Understanding Web Pages Better. (2014). Retrieved April 26 2021 from https:\/\/webmasters.googleblog.com\/2014\/05\/understanding-web-pages-better.html."},{"key":"e_1_3_2_27_2","unstructured":"Raymond Hill. 2020. uMatrix Repository. Retrieved May 10 2021 from https:\/\/github.com\/gorhill\/uMatrix."},{"key":"e_1_3_2_28_2","unstructured":"Raymond Hill. 2021. uBlock Origin Repository. Retrieved May 10 2021 from https:\/\/github.com\/gorhill\/uBlock\/."},{"key":"e_1_3_2_29_2","unstructured":"Johann Hofmann and Tim Huang. 2021. Mozilla Hacks\u2014Introducing State Partitioning. Retrieved May 5 2021 from https:\/\/hacks.mozilla.org\/2021\/02\/introducing-state-partitioning\/."},{"key":"e_1_3_2_30_2","unstructured":"Facebook Inc. 2021. React Website. (2021). Retrieved April 26 2021 from https:\/\/reactjs.org\/."},{"key":"e_1_3_2_31_2","doi-asserted-by":"publisher","DOI":"10.1109\/SP40001.2021.00017"},{"key":"e_1_3_2_32_2","doi-asserted-by":"publisher","DOI":"10.1145\/3485447.3512231"},{"key":"e_1_3_2_33_2","volume-title":"Proceedings of the 28th Annual Network and Distributed System Security Symposium (NDSS\u201921)","author":"Karami Soroush","year":"2021","unstructured":"Soroush Karami, Panagiotis Ilia, and Jason Polakis. 2021. Awakening the web\u2019s sleeper agents: Misusing service workers for privacy leakage. In Proceedings of the 28th Annual Network and Distributed System Security Symposium (NDSS\u201921). The Internet Society."},{"key":"e_1_3_2_34_2","unstructured":"Eiji Kitamura. 2020. Google Developers\u2014Gaining Security and Privacy by Partitioning the Cache. Retrieved May 5 2021 from https:\/\/developers.google.com\/web\/updates\/2020\/10\/http-cache-partitioning."},{"key":"e_1_3_2_35_2","unstructured":"Takashi Kokubun. 2021. GitHub Ranking\u2014Repositories Ranking. Retrieved August 11 2021 from https:\/\/gitstar-ranking.com\/repositories."},{"key":"e_1_3_2_36_2","doi-asserted-by":"publisher","DOI":"10.1145\/3386040"},{"key":"e_1_3_2_37_2","volume-title":"Proceedings of the 37th IEEE Symposium on Security and Privacy (S&P\u201916)","author":"Laperdrix Pierre","year":"2016","unstructured":"Pierre Laperdrix, Walter Rudametkin, and Benoit Baudry. 2016. Beauty and the Beast: Diverting modern web browsers to build unique browser fingerprints. In Proceedings of the 37th IEEE Symposium on Security and Privacy (S&P\u201916)."},{"key":"e_1_3_2_38_2","volume-title":"Proceedings of the 30th USENIX Security Symposium","author":"Laperdrix Pierre","year":"2021","unstructured":"Pierre Laperdrix, Oleksii Starov, Quan Chen, Alexandros Kapravelos, and Nick Nikiforakis. 2021. Fingerprinting in style: Detecting browser extensions via injected style sheets. In Proceedings of the 30th USENIX Security Symposium."},{"key":"e_1_3_2_39_2","doi-asserted-by":"publisher","DOI":"10.1145\/3419394.3423614"},{"key":"e_1_3_2_40_2","first-page":"191","volume-title":"Proceedings of the European Symposium on Research in Computer Security (ESORICS\u201917)","author":"Lipp Moritz","year":"2017","unstructured":"Moritz Lipp, Daniel Gruss, Michael Schwarz, David Bidner, Cl\u00e9mentine Maurice, and Stefan Mangard. 2017. Practical keystroke timing attacks in sandboxed JavaScript. In Proceedings of the European Symposium on Research in Computer Security (ESORICS\u201917), Simon N. Foley, Dieter Gollmann, and Einar Snekkenes (Eds.). Springer International Publishing, Cham, 191\u2013209."},{"key":"e_1_3_2_41_2","unstructured":"Giorgio Maone. 2021. NoScript Repository. Retrieved May 10 2021 from https:\/\/github.com\/hackademix\/noscript."},{"key":"e_1_3_2_42_2","volume-title":"Proceedings of the 30th International World Wide Web Conference (WWW\u201919)","author":"Marcantoni Francesco","year":"2019","unstructured":"Francesco Marcantoni, Michalis Diamantaris, Sotiris Ioannidis, and Jason Polakis. 2019. A large-scale study on the risks of the HTML5 WebAPI for mobile sensor-based attacks. In Proceedings of the 30th International World Wide Web Conference (WWW\u201919). ACM."},{"key":"e_1_3_2_43_2","unstructured":"Mozilla and individual contributors. 2021. Mozilla Developer Network\u2014HTML Elements Reference. Retrieved March 17 2021 from https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/HTML\/Element."},{"key":"e_1_3_2_44_2","unstructured":"Mozilla and individual contributors. 2021. Mozilla Developer Network\u2014<img>: The Image Embed Element\u2014Loading Attribute. Retrieved March 17 2021 from https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/HTML\/Element\/img#attr-loading."},{"key":"e_1_3_2_45_2","unstructured":"Mozilla and individual contributors. 2021. webRequest.onBeforeRequest\u2014Additional Objects. Retrieved May 18 2021 from https:\/\/developer.mozilla.org\/en-US\/docs\/Mozilla\/Add-ons\/WebExtensions\/API\/webRequest\/onBeforeRequest#additional_objects."},{"key":"e_1_3_2_46_2","unstructured":"Tim Neutkens Naoyuki Kanezawa Guillermo Rauch Arunoda Susiripala Tony Kovanen Dan Zajdband and contributors. 2021. Next.js Homepage. Retrieved April 26 2021 from https:\/\/nextjs.org\/."},{"key":"e_1_3_2_47_2","unstructured":"OpenDNS. 2021. OpenDNS\u2014Domain Tagging. Retrieved April 30 2021 from https:\/\/community.opendns.com\/domaintagging\/."},{"key":"e_1_3_2_48_2","unstructured":"OpenDNS. 2021. OpenDNS\u2014Domain Tagging\u2014Categories. Retrieved April 30 2021 from https:\/\/community.opendns.com\/domaintagging\/categories."},{"key":"e_1_3_2_49_2","unstructured":"Q-Success. 2021. Usage Statistics of JavaScript Libraries for Websites. Retrieved August 11 2021 from https:\/\/w3techs.com\/technologies\/overview\/javascript_library."},{"key":"e_1_3_2_50_2","doi-asserted-by":"publisher","DOI":"10.2478\/popets-2021-0004"},{"key":"e_1_3_2_51_2","doi-asserted-by":"publisher","DOI":"10.1109\/EuroSP51992.2021.00039"},{"key":"e_1_3_2_52_2","unstructured":"Jonathan Sampson. 2020. What\u2019s Brave Done For My Privacy Lately? Episode #3: Fingerprint Randomization. Retrieved May 37 2021 from https:\/\/brave.com\/privacy-updates-3\/."},{"key":"e_1_3_2_53_2","unstructured":"sanketh. 2020. mozilla-central\u2014In RFP Mode Turn Canvas Image Extraction into a Random \u2018Poison Pill\u2019 for Fingerprinters. Retrieved May 27 2021 from https:\/\/hg.mozilla.org\/mozilla-central\/rev\/ab2a75db3ebe."},{"key":"e_1_3_2_54_2","first-page":"2863","volume-title":"Proceedings of the 30th USENIX Security Symposium (USENIX Security\u201921)","author":"Shusterman Anatoly","year":"2021","unstructured":"Anatoly Shusterman, Ayush Agarwal, Sioli O\u2019Connell, Daniel Genkin, Yossi Oren, and Yuval Yarom. 2021. Prime+Probe 1, JavaScript 0: Overcoming browser-based side-channel defenses. In Proceedings of the 30th USENIX Security Symposium (USENIX Security\u201921), Michael Bailey and Rachel Greenstadt (Eds.). USENIX Association, 2863\u20132880."},{"key":"e_1_3_2_55_2","doi-asserted-by":"publisher","DOI":"10.1145\/3366423.3380239"},{"key":"e_1_3_2_56_2","doi-asserted-by":"publisher","DOI":"10.1145\/3392144"},{"key":"e_1_3_2_57_2","volume-title":"Proceedings of the 28th Annual Network and Distributed System Security Symposium (NDSS\u201921)","author":"Solomos Konstantinos","year":"2021","unstructured":"Konstantinos Solomos, John Kristoff, Chris Kanich, and Jason Polakis. 2021. Tales of favicons and caches: Persistent tracking in modern browsers. In Proceedings of the 28th Annual Network and Distributed System Security Symposium (NDSS\u201921). The Internet Society."},{"key":"e_1_3_2_58_2","unstructured":"Bootstrap team and contributors. 2021. Bootstrap Documentation\u2014Accordion. Retrieved October 25 2021 from https:\/\/getbootstrap.com\/docs\/5.1\/components\/accordion\/."},{"key":"e_1_3_2_59_2","unstructured":"Bootstrap team and contributors. 2021. Bootstrap Documentation\u2014Components. Retrieved October 25 2021 from https:\/\/getbootstrap.com\/docs\/5.1\/getting-started\/introduction\/#components."},{"key":"e_1_3_2_60_2","unstructured":"Bootstrap team and contributors. 2021. Bootstrap Documentation\u2014Dropdowns. Retrieved October 25 2021 from https:\/\/getbootstrap.com\/docs\/5.1\/components\/dropdowns\/."},{"key":"e_1_3_2_61_2","unstructured":"Bootstrap team and contributors. 2021. Bootstrap Homepage. Retrieved April 25 2021 from https:\/\/getbootstrap.com\/."},{"key":"e_1_3_2_62_2","unstructured":"Bootstrap team and contributors. 2021. Bootstrap JavaScript. Retrieved April 26 2021 from https:\/\/getbootstrap.com\/docs\/5.1\/getting-started\/javascript\/."},{"key":"e_1_3_2_63_2","volume-title":"Proceedings of the 8th USENIX Workshop on Free and Open Communications on the Internet (FOCI\u201918)","author":"Tschantz Michael Carl","year":"2018","unstructured":"Michael Carl Tschantz, Sadia Afroz, Shaarif Sajid, Shoaib Asif Qazi, Mobin Javed, and Vern Paxson. 2018. A bestiary of blocking: The motivations and modes behind website unavailability. In Proceedings of the 8th USENIX Workshop on Free and Open Communications on the Internet (FOCI\u201918), Lex Gill and Rob Jansen (Eds.). USENIX Association."},{"key":"e_1_3_2_64_2","unstructured":"Matteo Varvello and Benjamin Livshits. 2020. On the battery consumption of mobile browsers. arXiv:2009.03740. Retrieved from https:\/\/arxiv.org\/abs\/2009.03740."},{"key":"e_1_3_2_65_2","unstructured":"W3C. 1999. HTML4 Specification\u2014Specifying Anchors and Links. Retrieved March 18 2021 from https:\/\/www.w3.org\/TR\/html401\/struct\/links.html#h-12.1.3."},{"key":"e_1_3_2_66_2","unstructured":"W3C. 2021. ARIA Specification\u2014Design Patterns and Widgets. Retrieved March 17 2021 from https:\/\/w3c.github.io\/aria-practices\/#aria_ex."},{"key":"e_1_3_2_67_2","unstructured":"WHATWG. 2021. HTML Specification\u2014Custom Data Attribute. Retrieved March 17 2021 from https:\/\/html.spec.whatwg.org\/#custom-data-attribute."},{"key":"e_1_3_2_68_2","unstructured":"WHATWG. 2021. HTML Specification\u2014Implicit Submission. Retrieved March 18 2021 from https:\/\/html.spec.whatwg.org\/multipage\/form-control-infrastructure.html#implicit-submission."},{"key":"e_1_3_2_69_2","unstructured":"WHATWG. 2021. HTML Specification\u2014Scroll to the Fragment Identifier. Retrieved March 18 2021 from https:\/\/html.spec.whatwg.org\/multipage\/browsing-the-web.html#scroll-to-the-fragment-identifier."},{"key":"e_1_3_2_70_2","doi-asserted-by":"publisher","DOI":"10.2478\/popets-2020-0016"},{"key":"e_1_3_2_71_2","unstructured":"Foundation Yetinauts. 2021. Foundation Documentation. Retrieved March 17 2021 from https:\/\/get.foundation\/sites\/docs\/."},{"key":"e_1_3_2_72_2","unstructured":"Evan You and contributors. 2021. Vue.js Website. Retrieved April 26 2021 from https:\/\/vuejs.org\/."},{"key":"e_1_3_2_73_2","doi-asserted-by":"publisher","DOI":"10.14722\/ndss.2018.23331"}],"container-title":["ACM Transactions on Internet Technology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3579846","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3579846","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T17:51:27Z","timestamp":1750182687000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3579846"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,2,23]]},"references-count":72,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2023,2,28]]}},"alternative-id":["10.1145\/3579846"],"URL":"https:\/\/doi.org\/10.1145\/3579846","relation":{},"ISSN":["1533-5399","1557-6051"],"issn-type":[{"type":"print","value":"1533-5399"},{"type":"electronic","value":"1557-6051"}],"subject":[],"published":{"date-parts":[[2023,2,23]]},"assertion":[{"value":"2022-01-21","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2022-11-16","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2023-02-23","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}