A place to cache linked articles (think custom and personal wayback machine)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
преди 3 години
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. <!doctype html><!-- This is a valid HTML5 document. -->
  2. <!-- Screen readers, SEO, extensions and so on. -->
  3. <html lang="fr">
  4. <!-- Has to be within the first 1024 bytes, hence before the `title` element
  5. See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
  6. <meta charset="utf-8">
  7. <!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
  8. <!-- The viewport meta is quite crowded and we are responsible for that.
  9. See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
  10. <meta name="viewport" content="width=device-width,initial-scale=1">
  11. <!-- Required to make a valid HTML5 document. -->
  12. <title>Inclusive UX in an era of anxiety (archive) — David Larlet</title>
  13. <meta name="description" content="Publication mise en cache pour en conserver une trace.">
  14. <!-- That good ol' feed, subscribe :). -->
  15. <link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
  16. <!-- Generated from https://realfavicongenerator.net/ such a mess. -->
  17. <link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
  18. <link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
  19. <link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
  20. <link rel="manifest" href="/static/david/icons2/site.webmanifest">
  21. <link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
  22. <link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
  23. <meta name="msapplication-TileColor" content="#f7f7f7">
  24. <meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
  25. <meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)">
  26. <meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)">
  27. <!-- Documented, feel free to shoot an email. -->
  28. <link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
  29. <!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
  30. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  31. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  32. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  33. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  34. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  35. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  36. <script>
  37. function toggleTheme(themeName) {
  38. document.documentElement.classList.toggle(
  39. 'forced-dark',
  40. themeName === 'dark'
  41. )
  42. document.documentElement.classList.toggle(
  43. 'forced-light',
  44. themeName === 'light'
  45. )
  46. }
  47. const selectedTheme = localStorage.getItem('theme')
  48. if (selectedTheme !== 'undefined') {
  49. toggleTheme(selectedTheme)
  50. }
  51. </script>
  52. <meta name="robots" content="noindex, nofollow">
  53. <meta content="origin-when-cross-origin" name="referrer">
  54. <!-- Canonical URL for SEO purposes -->
  55. <link rel="canonical" href="https://uxdesign.cc/inclusive-ux-in-an-era-of-anxiety-dc89c39ec202">
  56. <body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all">
  57. <article>
  58. <header>
  59. <h1>Inclusive UX in an era of anxiety</h1>
  60. </header>
  61. <nav>
  62. <p class="center">
  63. <a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
  64. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
  65. </svg> Accueil</a> •
  66. <a href="https://uxdesign.cc/inclusive-ux-in-an-era-of-anxiety-dc89c39ec202" title="Lien vers le contenu original">Source originale</a>
  67. </p>
  68. </nav>
  69. <hr>
  70. <div class=""><h2 id="b428" class="hj gk gl bf b hk hl hm hn ho hp hq hr hs ht hu hv hw hx hy hz dx">It’s more important than ever to consider mental health while designing.</h2></div>
  71. <p id="74fc" class="ja jb gl jc b hk jd je hn jf jg jh ji jj jk jl jm jn jo jp jq jr ge hi">Accessibility continues to be an important topic across multiple industries, yet mental health, and specifically anxiety, don’t often immediately come to mind as a piece of the puzzle.</p>
  72. <p id="6d3d" class="ja jb gl jc b hk js jd je hn jt jf jg jh ju ji jj jk jv jl jm jn jw jo jp jr ge hi">Considering the skyrocketing rates of mental illness throughout the course of the COVID-19 pandemic — plus many more of us struggling with daily stressors and mood swings that may lead us to irrational negative thinking —how often are we asking ourselves, “How will someone with anxiety experience our product/service/feature? How can we make that better?”</p>
  73. <figure class="jy jz ka kb kc kd fr fs paragraph-image"><figcaption class="kt ku ft fr fs kv kw bf b bg bh dx">Via <a href="https://www.statista.com/chart/21878/impact-of-coronavirus-pandemic-on-mental-health/" class="ed kx" rel="noopener nofollow">Statista</a></figcaption></figure>
  74. <p id="1a9a" class="ja jb gl jc b hk js jd je hn jt jf jg jh ju ji jj jk jv jl jm jn jw jo jp jr ge hi">As <a href="https://www.nami.org/Get-Involved/Awareness-Events/Mental-Health-Awareness-Month" class="ed kx" rel="noopener nofollow">Mental Health <span id="rmm"><span id="rmm">A</span></span>wareness Month</a> comes to a close, I’ve been reflecting on personal experiences, and the many ways designers and developers can influence someone suffering from anxiety or depression. Especially for those of us in healthcare, insurance, finance — industries that often require complex tasks from an incredible breadth of users — What mental health hurdles may be unintentional consequences of our work?</p>
  75. <p id="61cc" class="ja jb gl jc b hk js jd je hn jt jf jg jh ju ji jj jk jv jl jm jn jw jo jp jr ge hi">A close friend of mine — let’s call her Alex — suffers from generalized anxiety disorder, which has significantly exasperated over the last year, like so many others. In helping her with various issues she’s faced in websites and apps, my heart breaks seeing the emotional toll some digital experiences have had on her. But it’s also helped open my eyes and make me a more considerate designer.</p>
  76. <p id="8277" class="ja jb gl jc b hk js jd je hn jt jf jg jh ju ji jj jk jv jl jm jn jw jo jp jr ge hi">A few salient pieces of our conversations have really stuck with me:</p>
  77. <blockquote class="ky"><p id="3ca6" class="kz la gl bf lb lc ld le lf lg lh jr dx">“I just can’t figure out what to do next. I’m so stupid.”</p></blockquote>
  78. <figure class="lj lk ll lm ln kd fr fs paragraph-image"><figcaption class="kt ku ft fr fs kv kw bf b bg bh dx">Via <a href="https://stock.adobe.com/contributor/206424779/mary-long?load_type=author&amp;prev_url=detail" class="ed kx" rel="noopener nofollow">Mary Long</a> on <a href="https://stock.adobe.com/" class="ed kx" rel="noopener nofollow">Adobe Stock</a></figcaption></figure>
  79. <p id="3250" class="ja jb gl jc b hk js jd je hn jt jf jg jh ju ji jj jk jv jl jm jn jw jo jp jr ge hi">When attempting to fill out onboarding paperwork for a new doctor appointment, Alex was stuck trying to upload a form. After taking a look, I could tell that the website had some form of server error, as my typical troubleshooting didn’t do the trick. She would need to try again in the morning or go to the appointment early to fill out all the remaining steps.</p>
  80. <p id="e9bf" class="ja jb gl jc b hk js jd je hn jt jf jg jh ju ji jj jk jv jl jm jn jw jo jp jr ge hi">As soon as I said that, she spoke even more shakily. “I’m sorry I couldn’t figure it out. I guess I don’t understand these things. They said the online forms are required and I don’t want to break the rules.” Not only had her anxiety been heightened due to feeling inadequate, but she was also now going to struggle with anxiety all night about how she now needed to leave work even earlier than before, and how she was going to get on the receptionists’ bad side by not following the request for new patients.</p>
  81. <p id="7dc8" class="ja jb gl jc b hk js jd je hn jt jf jg jh ju ji jj jk jv jl jm jn jw jo jp jr ge hi">Two things here: One, yes the world is significantly digital, but alternatives are still needed. Not only is it a necessity for accessibility in general, but also various mental health conditions and their side effects (insomnia, headaches, fatigue, blurry vision…), can make digital forms much more difficult. Temporary disability can come in many forms.</p>
  82. <p id="15bd" class="ja jb gl jc b hk js jd je hn jt jf jg jh ju ji jj jk jv jl jm jn jw jo jp jr ge hi">Two, distinguishing between a technical glitch and human error is essential. Without proper error states and messaging explaining the cause and next steps, some may be completely at a loss, and continue to beat themselves up for thinking they made a mistake. And if it was human error, tell them nicely exactly how to fix it, or better yet see what you could do to prevent it in the first place.</p>
  83. <blockquote class="ky"><p id="7bfd" class="kz la gl bf lb lc ld le lf lg lh jr dx">“I don’t even know if I have an account. I can’t believe my memory is so bad.”</p></blockquote>
  84. <figure class="lj lk ll lm ln kd fr fs paragraph-image"><figcaption class="kt ku ft fr fs kv kw bf b bg bh dx"><a href="https://www.freepik.com/" class="ed kx" rel="noopener nofollow">Designed by slidesgo / Freepik</a></figcaption></figure>
  85. <p id="d1ff" class="ja jb gl jc b hk js jd je hn jt jf jg jh ju ji jj jk jv jl jm jn jw jo jp jr ge hi">There is absolutely no way we can expect users to remember every account they’ve ever created, especially when so many websites make us create them nowadays — all with different username and password requirements — and some for platforms we use maybe once a year or less, some we create in the middle of another longer form, others are created for us by our employers or other affiliations.</p>
  86. <p id="2084" class="ja jb gl jc b hk js jd je hn jt jf jg jh ju ji jj jk jv jl jm jn jw jo jp jr ge hi">I personally wouldn’t survive a day online without Chrome password autofill. But not everyone is comfortable with that setup or knows how to enable it. So yes, of course Alex forgot that she made an account 2 years ago for her vision insurance and didn’t save the information anywhere.</p>
  87. <p id="b5d2" class="ja jb gl jc b hk js jd je hn jt jf jg jh ju ji jj jk jv jl jm jn jw jo jp jr ge hi">But from her perspective, it was her own fault, and it contributed to the story she tells herself that she’s not smart and has a bad memory. Not the company’s fault for requiring a username other than an email, a password with 5 different requirements plus it couldn’t be repetitive of your last 10 passwords, and a quadrillion-step process to reset your credentials.</p>
  88. <h2 id="cb00" class="lr ls gl bf lt lu lv hm lw lx ly hp lz hq ma hs mb ht mc hv md hw me hy mf mg hi">Her entire body stiffened when she got to a marital status question.</h2>
  89. <figure class="jy jz ka kb kc kd fr fs paragraph-image"><figcaption class="kt ku ft fr fs kv kw bf b bg bh dx">Via <a href="https://stock.adobe.com/contributor/205137184/rosinka79?load_type=author&amp;prev_url=detail" class="ed kx" rel="noopener nofollow">rosinka79</a> on <a href="https://stock.adobe.com/" class="ed kx" rel="noopener nofollow">Adobe Stock</a></figcaption></figure>
  90. <p id="7b49" class="ja jb gl jc b hk js jd je hn jt jf jg jh ju ji jj jk jv jl jm jn jw jo jp jr ge hi">“I don’t understand why they need to know that,” she said, her voice cracking. She shakily pressed the accurate choice and I could hear her breath quicken. I couldn’t give her a good response — “Maybe they’re gathering demographic data for marketing” wouldn’t have cut it.</p>
  91. <p id="59cd" class="ja jb gl jc b hk js jd je hn jt jf jg jh ju ji jj jk jv jl jm jn jw jo jp jr ge hi">I imagine others may feel the same pulse-quickening on questions about gender, income, race, education level, religion, sexual preference — any topic where there may be historical oppression or judgment, fear that the selection may negatively impact the outcome of the form, or even any other information that someone may not like to think about or reveal about themselves. In some circumstances these questions are necessary, but could they be optional? Could there be a “prefer not to say” option? Could you explain why you need the information? (If you can’t, maybe a sign to kill the question).</p>
  92. <blockquote class="ky"><p id="f40a" class="kz la gl bf lb lc ld le lf lg lh jr dx">“Why can I never get this right? Why are things so hard for me?”</p></blockquote>
  93. <figure class="lj lk ll lm ln kd fr fs paragraph-image"><figcaption class="kt ku ft fr fs kv kw bf b bg bh dx">Via <a href="https://stock.adobe.com/contributor/206783960/oksana-stepova?load_type=author&amp;prev_url=detail" class="ed kx" rel="noopener nofollow">Oksana Stepova</a> on <a href="https://stock.adobe.com/" class="ed kx" rel="noopener nofollow">Adobe Stock</a></figcaption></figure>
  94. <p id="45a2" class="ja jb gl jc b hk js jd je hn jt jf jg jh ju ji jj jk jv jl jm jn jw jo jp jr ge hi">My heart sinks hearing these words over and over again over the last few years. From invalid credentials, to expired email links, to confusing password reset flows, to glitchy and lengthy forms, to jargon-filled websites, I know the majority of issues Alex has worked through with me have all been outside of her control. And I try to tell her that, but her anxiety doesn’t let her see it that way. She truly believes everything she’s struggled with is her fault, and with each failed click of a button, her anxiety continues to worsen.</p>
  95. <h2 id="5265" class="lr ls gl bf lt lu lv hm lw lx ly hp lz hq ma hs mb ht mc hv md hw me hy mf mg hi">What Alex can teach us</h2>
  96. <p id="c5b0" class="ja jb gl jc b hk mk jd je hn ml jf jg jh mm ji jj jk mn jl jm jn mo jo jp jr ge hi">It’s easy to engage in self-referential design and make decisions based on how we and our teams typically interact with products in a positive mental state. But when we do so, we’re further alienating those unfamiliar with or anxious around technology, instead of bringing technology closer to their needs.</p>
  97. <p id="7822" class="ja jb gl jc b hk js jd je hn jt jf jg jh ju ji jj jk jv jl jm jn jw jo jp jr ge hi">Think about what you know about your users — What other areas in their lives could be putting strain on their emotional and mental state? What platforms are they familiar with? What level of education do they have around your product content and services? What are all the possible ways, both in and outside of the product’s control, the happy path could take a southern turn?</p>
  98. <p id="5a9c" class="ja jb gl jc b hk js jd je hn jt jf jg jh ju ji jj jk jv jl jm jn jw jo jp jr ge hi">With these in mind, there are infinite items to consider when designing. Just a few that could be a good start:</p>
  99. <ul class=""><li id="71fb" class="ja jb gl jc b hk js jd je hn jt jf jg jh ju ji jj jk jv jl jm jn jw jo jp jr mp mq mr hi">Prepare for both system failure and human error, and respond to each with the same level of clarity.</li><li id="f6f6" class="ja jb gl jc b hk ms jd je hn mt jf jg jh mu ji jj jk mv jl jm jn mw jo jp jr mp mq mr hi">Tell users when it’s not them, it’s us.</li><li id="46c8" class="ja jb gl jc b hk ms jd je hn mt jf jg jh mu ji jj jk mv jl jm jn mw jo jp jr mp mq mr hi">Microcopy is king.</li><li id="9a6f" class="ja jb gl jc b hk ms jd je hn mt jf jg jh mu ji jj jk mv jl jm jn mw jo jp jr mp mq mr hi">Only request information you absolutely need.</li><li id="bc6d" class="ja jb gl jc b hk ms jd je hn mt jf jg jh mu ji jj jk mv jl jm jn mw jo jp jr mp mq mr hi">Write as if you’re talking to a 5th grader.</li><li id="3c4b" class="ja jb gl jc b hk ms jd je hn mt jf jg jh mu ji jj jk mv jl jm jn mw jo jp jr mp mq mr hi">Make the effects of an action crystal clear. And make sure you can undo it too.</li><li id="350c" class="ja jb gl jc b hk ms jd je hn mt jf jg jh mu ji jj jk mv jl jm jn mw jo jp jr mp mq mr hi">There’s rarely a step of an interface that doesn’t require both feedback and guidance on next steps.</li><li id="d2b8" class="ja jb gl jc b hk ms jd je hn mt jf jg jh mu ji jj jk mv jl jm jn mw jo jp jr mp mq mr hi">For any essential task, two channels (web, phone, email, chat, paper, etc.) are better than one.</li><li id="4cec" class="ja jb gl jc b hk ms jd je hn mt jf jg jh mu ji jj jk mv jl jm jn mw jo jp jr mp mq mr hi">Make sure every email link, social link, SMS, direct mail piece — anything your product puts out there — all talk to each other.</li><li id="0044" class="ja jb gl jc b hk ms jd je hn mt jf jg jh mu ji jj jk mv jl jm jn mw jo jp jr mp mq mr hi">Just keep thinking and learning about the topic— “A web of anxiety: accessibility for people with anxiety and panic disorders <a href="https://www.tpgi.com/a-web-of-anxiety-accessibility-for-people-with-anxiety-and-panic-disorders-part-1/" class="ed kx" rel="noopener nofollow">Part 1</a> and <a href="https://www.tpgi.com/a-web-of-anxiety-accessibility-for-people-with-anxiety-and-panic-disorders-part-2/" class="ed kx" rel="noopener nofollow">Part 2</a>” has some fantastic insights.</li></ul>
  100. <p id="cb29" class="ja jb gl jc b hk js jd je hn jt jf jg jh ju ji jj jk jv jl jm jn jw jo jp jr ge hi">These details of the experience matter — not just for quality products and overall happy customers, but also for alleviating any possible sliver of anxiety for someone that we can. Good experiences make good days better and bad experiences make bad days worse — that’s true for all of us. And for those of us whose bad days are frequent and made up of irrational negative thinking and worry, let’s not add another bad experience to their plate. Even the smallest straws can break the camel’s back, and I’d prefer to deliver products that help lift the weight.</p>
  101. <figure class="jy jz ka kb kc kd fr fs paragraph-image"><figcaption class="kt ku ft fr fs kv kw bf b bg bh dx">The UX Collective donates US$1 for each article we publish. This story contributed to <a href="https://www.wcd.school/" class="ed kx" rel="noopener nofollow">World-Class Designer School</a>: a college-level, tuition-free design school focused on preparing young and talented African designers for the local and international digital product market. Build the design community you believe in.</figcaption></figure>
  102. </div>
  103. </article>
  104. <hr>
  105. <footer>
  106. <p>
  107. <a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
  108. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
  109. </svg> Accueil</a> •
  110. <a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
  111. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-rss2"></use>
  112. </svg> Suivre</a> •
  113. <a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
  114. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-user-tie"></use>
  115. </svg> Pro</a> •
  116. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
  117. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-mail"></use>
  118. </svg> Email</a> •
  119. <abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
  120. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-hammer2"></use>
  121. </svg> Légal</abbr>
  122. </p>
  123. <template id="theme-selector">
  124. <form>
  125. <fieldset>
  126. <legend><svg class="icon icon-brightness-contrast">
  127. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-brightness-contrast"></use>
  128. </svg> Thème</legend>
  129. <label>
  130. <input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
  131. </label>
  132. <label>
  133. <input type="radio" value="dark" name="chosen-color-scheme"> Foncé
  134. </label>
  135. <label>
  136. <input type="radio" value="light" name="chosen-color-scheme"> Clair
  137. </label>
  138. </fieldset>
  139. </form>
  140. </template>
  141. </footer>
  142. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  143. <script>
  144. function loadThemeForm(templateName) {
  145. const themeSelectorTemplate = document.querySelector(templateName)
  146. const form = themeSelectorTemplate.content.firstElementChild
  147. themeSelectorTemplate.replaceWith(form)
  148. form.addEventListener('change', (e) => {
  149. const chosenColorScheme = e.target.value
  150. localStorage.setItem('theme', chosenColorScheme)
  151. toggleTheme(chosenColorScheme)
  152. })
  153. const selectedTheme = localStorage.getItem('theme')
  154. if (selectedTheme && selectedTheme !== 'undefined') {
  155. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  156. }
  157. }
  158. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  159. window.addEventListener('load', () => {
  160. let hasDarkRules = false
  161. for (const styleSheet of Array.from(document.styleSheets)) {
  162. let mediaRules = []
  163. for (const cssRule of styleSheet.cssRules) {
  164. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  165. continue
  166. }
  167. // WARNING: Safari does not have/supports `conditionText`.
  168. if (cssRule.conditionText) {
  169. if (cssRule.conditionText !== prefersColorSchemeDark) {
  170. continue
  171. }
  172. } else {
  173. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  174. continue
  175. }
  176. }
  177. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  178. }
  179. // WARNING: do not try to insert a Rule to a styleSheet you are
  180. // currently iterating on, otherwise the browser will be stuck
  181. // in a infinite loop…
  182. for (const mediaRule of mediaRules) {
  183. styleSheet.insertRule(mediaRule.cssText)
  184. hasDarkRules = true
  185. }
  186. }
  187. if (hasDarkRules) {
  188. loadThemeForm('#theme-selector')
  189. }
  190. })
  191. </script>
  192. </body>
  193. </html>