📦 EqualifyEverything / equalify

📄 editoria11y.min.js · 166 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166const ed11yLang={en:{toggleAccessibilityTools:"Toggle accessibility tools",toggleDisabled:"No content available for Editoria11y to check.",panelCount0:"No issues detected.",panelCountAllDismissed:"All issues hidden.",panelCount1:"One issue detected.",panelCountMultiple:" issues detected.",panelCountBase:"<span class='count'>No</span> <span class='content-type'>issues detected</span>.",panelControls:"Editorially",buttonToolsContent:"Show headings & alt text",buttonToolsActive:"Hide headings & alt text",buttonOutlineContent:"Headings",buttonAltsContent:"Alt Text",buttonFirstContent:"Go to first issue",buttonNextContent:"Go to next issue",buttonPrevContent:"Go to previous issue",buttonShowHiddenAlert:"Show hidden issue",buttonHideHiddenAlert:"Hide hidden issue",buttonShowHiddenAlerts:e=>`Show ${e} hidden issues`,buttonHideHiddenAlerts:e=>`Hide ${e} hidden issues`,buttonShowAlerts:"Show content issues and tools",buttonShowNoAlert:"Show checker tools",buttonHideChecker:"Hide checker tools",buttonHideAlerts:"Hide content issues and tools",panelCheckOutline:"<p>Check that this forms <a href='https://www.w3.org/WAI/tutorials/page-structure/headings/'>a complete outline</a>:</p>",panelCheckAltText:"<p>Check <a href='https://www.w3.org/WAI/tutorials/images/informative/'>alt text</a>, <a href='https://www.w3.org/WAI/tutorials/images/textual/'>images of text</a>, &amp; <a href='https://webaim.org/techniques/captions/'>captions</a>.</p>",panelHelpTitle:"About this tool",altLabelPrefix:"Alt text: ",errorAltMissing:"(missing!)",errorAltNull:"(none; image marked as decorative)",errorOutlinePrefixSkippedLevel:"(flagged for skipped level) ",errorOutlinePrefixHeadingEmpty:"(empty heading) ",errorOutlinePrefixHeadingIsLong:"(flagged for length) ",consoleNotSupported:"This browser can not run Editoria11y.",jumpedToInvisibleTip:"Note: this content may not be visible. Look for it inside the outlined container.",jumpedToAriaHiddenTip:"The item with this issue may be invisible or off screen.",suspiciousWords:["image of","graphic of","picture of","photo of","placeholder","spacer","tbd","todo"],meaninglessAlt:["alt","chart","decorative","image","graphic","photo","placeholder","placeholder image","spacer","tbd","todo","to do"],linksUrls:["http:/","https:/",".asp",".htm",".php",".edu/",".com/"],linksMeaningless:/(learn|to|more|now|this|page|link|site|website|check|out|view|our|read|download|form|here|click|"|'|\?|\.|-|,|:|>|<|\s)+/g,linkStringsNewWindows:/window|\stab|download/g,toggleManualCheck:"manual check needed",toggleAlert:"alert",issue:"Issue",toggleAriaLabel:e=>`Accessibility ${e}`,transferFocus:"Edit this content",dismissOkButtonContent:"Mark as checked and OK",dismissHideButtonContent:"Ignore this manual check",dismissOkTitle:"Hides this alert for all editors",dismissHideTitle:"Hides this alert for you",undismissOKButton:"Restore this alert marked as OK",undismissHideButton:"Restore this hidden alert",undismissNotePermissions:"This alert has been hidden by an administrator",reportsLink:"Open site reports in new tab",closeTip:"Close",panelHelp:`
    <p><a href="https://editoria11y.princeton.edu/">Editoria11y</a> checks for common accessibility needs, such as image alternative text, meaningful heading outlines and well-named links.</p>
    <p>Many alerts are "manual checks." Manual checks can be dismissed:</p>
    <ul>
        <li>"Mark as checked and OK" hides the alert for all editors.</li>
        <li>"Ignore this manual check" leaves the tip visible to other editors.</li>
    </ul>
    <p>Dismissed alerts can be found via the "Show hidden alerts" toggle.</p>
    <p>If an incorrect alert is appearing on many pages, site administrators can tell the checker to ignore particular elements and page regions.</p>
    <p>And remember that automated checkers cannot replace <a href='https://webaim.org/resources/evalquickref/'> proofreading and testing for accessibility</a>.</p>
    <p><br><a href='https://github.com/itmaybejj/editoria11y/issues' class='ed11y-small'>Report bugs & request changes <span aria-hidden="true">&raquo;</span></a></p>
    `,headingExample:`
        <ul>
            <li>Heading level 1
                <ul>
                    <li>Heading level 2: a topic
                        <ul><li>Heading level 3: a subtopic</li></ul></li>
                    <li>Heading level 2: a new topic</li>
                </ul>
            </li>
        </ul>`,headingLevelSkipped:{title:"Manual check: was a heading level skipped?",tip:(e,t)=>`<p>Headings and subheadings create a <a href="https://www.w3.org/WAI/tutorials/page-structure/headings/" target="_blank" title="Opens in new tab">navigable table of contents</a> for assistive devices. The numbers indicate indents in a nesting relationship:</p>
            ${Ed11y.M.headingExample}
            <p>This heading skipped from level ${e} to level ${t}. From a screen reader, this sounds like content is missing.</p>
            <p><strong>To fix:</strong> adjust levels to form an accurate outline, without gaps.</p>
            `},headingEmpty:{title:"Heading tag without any text",tip:()=>`<p>Headings and subheadings create a <a href="https://www.w3.org/WAI/tutorials/page-structure/headings/" target="_blank" title="Opens in new tab">navigable table of contents</a> for assistive devices. The numbers indicate indents in a nesting relationship:</p>
            ${Ed11y.M.headingExample}
            <p>Empty headings create confusing gaps in this outline: they could mean the following content is still part of the previous section, or that the text was unpronounceable for some reason.</p>
            <p><strong>To fix:</strong> add text to this heading, or delete this empty line.</p>
            `},headingIsLong:{title:"Manual check: long heading",tip:()=>`<p>Headings should be brief and clear. Assistive devices use them as a <a href="https://www.w3.org/WAI/tutorials/page-structure/headings/" target="_blank" title="Opens in new tab">navigable table of contents</a> for the page. The numbers indicate indents in a nesting relationship:</p>  
            ${Ed11y.M.headingExample}
            <p><strong>To fix:</strong> shorten this heading if possible, or remove the heading style if it was only applied to this text to provide visual emphasis.</p>
            `},blockquoteIsShort:{title:"Manual check: is this a blockquote?",tip:()=>'<p>Blockquote formatting tells screen readers that the text should be announced as a quotation. This was flagged because short blockquotes are <em>sometimes</em> actually <a href="https://www.w3.org/WAI/tutorials/page-structure/headings/" target="_blank" title="Opens in new tab">headings</a>. If this is a heading and not a quotation, use heading formatting instead, so this appears in the page outline.</p>'},altAttributeExample:`<p>Note that a <a href="https://www.w3.org/WAI/tutorials/images/informative" target="_blank" title="Opens in new tab">good alt describes the image's message</a>, not simply what it contains. Depending on the context, the alt for the picture of a child kicking a ball might emphasize the setting, the child, the kick or the ball:</p>
            <ul>
                <li>The sunny spring day brought kids to the park for some soccer.</li>
                <li>A.J. wearing the new team uniform.</li>
                <li>The game-winning kick curved in from the left sideline!</li>
                <li>The size 4 ball is the right size for this 9-year-old child.</li>
            </ul>`,altAttributeProvided:e=>`<p>This image's alt text is <strong>"${e},"</strong>`,altMissing:{title:"Image has no alternative text attribute",tip:()=>`<p>When screen readers encounter an image with no alt attribute at all, they dictate the url of the image file instead, often one letter at a time.</p>
            <p><strong>To fix:</strong> either add an empty alt (alt="") to indicate this image should be ignored by screen readers, or add descriptive alt text.</p>
            ${Ed11y.M.altAttributeExample}`},altNull:{title:"Manual check: image has no alt text",tip:()=>`<p>Unless this image is purely decorative (a spacer icon or background texture), an alt should probably be provided. Photos in page content <strong>almost always need alt text.</strong> Since many screen reader users can see there is an image present, it can be very confusing to move the cursor across the place on the page where an image is visible, but hear nothing.</p>
        ${Ed11y.M.altAttributeExample}`},altURL:{title:"Image's text alternative is a URL",tip:e=>`This image's alt text is "${e}," which probably describes the file name, not the contents of the image.
        <p><strong>To fix:</strong> set this image's alternative text to a concise description of what this image means in this context.</p>
        ${Ed11y.M.altAttributeExample}`},altMeaningless:{title:"Alt text is meaningless",tip:e=>`<p>This image's alt text is "${e}," which was flagged for being common placeholder text.</p>
        <p><strong>To fix:</strong> set this image's alternative text to a concise description of what this image means in this context.</p>
        ${Ed11y.M.altAttributeExample}`},altMeaninglessLinked:{title:"Linked alt text is meaningless",tip:e=>`<p>This image's alt text is "${e}," which probably does describe this link.</p>
         <p>When a link includes an image, <a href="https://webaim.org/techniques/hypertext/link_text#alt_link" target="_blank" title="opens in new tab">the image's alt text becomes the link text</a> announced by screen readers.
            Links should clearly and concisely describe their destination, even out of context.</p>`},altURLLinked:{title:"Linked image's text alternative is a URL",tip:e=>`<p>This image's alt text is "${e}," which is probably a filename.</p>
        <p>When a link is wrapped around an image and there is no other text, the <a href="https://webaim.org/techniques/hypertext/link_text#alt_link" target="_blank" title="Opens in new tab">image's alt text becomes the link text</a> announced by screen readers.
            Links should clearly and concisely describe their destination; a URL (usually pronounced by the screen reader one letter at a time) does not.</p>
            <ul>
                <li>Good link text: "About us"</li>
                <li>Bad link text: "H T T P S colon forward slash forward slash example dot com forward slash aye bee oh you tee you ess</li>
            </ul>`},altImageOf:{title:"Manual check: possibly redundant text in alt",tip:e=>`<p>This image's alt text is "${e}," which mentions that this image is an image.</p>
        <p>Screen readers announce they are describing an image when reading alt text, so 
            phrases like "image of" and "photo of" are usually redundant in alt text; the screen reader user hears "image: image of something."</p>
            <p>Note that this is OK if the format is referring to the <strong>content</strong> of the image:</p>
            <ul><li>Format is redundant: "<em>photo of</em> a VHS tape"</li>
            <li>Format is relevant: "<em>photo of</em> a VHS tape in a photo album being discussed in a history class"</li></ul>`},altImageOfLinked:{title:"Manual check: possibly redundant text in linked image",tip:e=>`<p>This image's alt text is "${e}," which mentions that this image is an image.</p>
        <hr><p>Links should clearly and concisely describe their destination. Since words like "image," "graphic" or "photo" are already redundant in text alternatives (screen readers already identify the image as an image), their presence in a linked image usually means the image's text alternative is <a href="https://webaim.org/techniques/hypertext/link_text#alt_link" title="Opens in new tab" target="_blank">describing the image instead of the link</a>.</p>
            <ul>
                <li>Good link text: "About us"</li>
                <li>Bad link text: "Image of five people jumping"</li>
            </ul>`},altDeadspace:{title:"Image's text alternative is unpronounceable",tip:e=>`<p>This image's alt text is "${e}," which only contains unpronounceable symbols and/or spaces. Screen readers will announce that an image is present, and then pause awkwardly: "image: ____."</p>
        <p><strong>To fix:</strong> add a descriptive alt, or provide a <em>completely</em> empty alt (alt="") if this is just an icon or spacer, and screen readers should ignore it.</p>
            ${Ed11y.M.altAttributeExample}`},altEmptyLinked:{title:"Linked Image has no alt text",tip:()=>`<p>When a link is wrapped around an image, the image's alt text <a href="https://webaim.org/techniques/hypertext/link_text#alt_link" title="Opens in new tab" target="_blank">provides the link's title for screen readers</a>.</p>
        <p><strong>To fix:</strong> set this image's alternative text to something that describes the link's destination, or add text next to the image, within the link.</p>`},altLong:{title:"Manual check: very long alternative text",tip:e=>`<p>Image text alternatives are announced by screen readers as a single run-on sentence; listeners must listen to the entire alt a second time if they miss something. If this cannot be reworded to something succinct, it is better to use the alt to reference a <em>visible</em> <a href="https://www.w3.org/WAI/tutorials/images/complex/" title="Opens in new tab" target="_blank">text alternative for complex images</a>. For example:</p>
            <ul><li>"Event poster; details follow in caption"</li>
            <li>"Chart showing our issues going to zero; details follow in table"</li></ul>
            This image's alt text is: <em>${e}</em>
            `},altLongLinked:{title:"Manual check: very long alternative text in linked image",tip:e=>`<p><a href="https://webaim.org/techniques/hypertext/link_text#alt_link" title="Opens in new tab" target="_blank">The alt text on a linked image is used to describe the link destination</a>. Links should be brief, clear and concise, as screen reader users often listen to the list of links on the page to find content of interest. Long alternative text inside a link often indicates that the image's text alternative is describing the image instead rather than the link.</p>
        This image's alt text is: <em>${e}</em>`},altPartOfLinkWithText:{title:"Manual check: link contains both text and an image",tip:e=>`<p>When a link includes an image, screen readers <a href="https://www.w3.org/WAI/tutorials/images/functional/" title="Opens in new tab" target="_blank">speak the image's alt text as part of the link</a>.
            This can be confusing if the image's alt is irrelevant to the link.</p>
            <p>E.g., for a card-style link with both text and a stock photo, compare:</p>
            <ul>
                <li>"Link, image, five people jumping and high-fiving around a conference table, About us"</li>
                <li>"Link, About us"</li>
            </ul>
            <p>If the content of this image is not relevant, it may be better to leave this alt text blank.</p>
            <p>This image's alt text is: <em>${e}</em></p>
            `},linkNoText:{title:"Link with no accessible text",tip:()=>`<p>This link is either a typo (e.g., a linked space character), or wrapped around something with no text alternative (an image with no alt attribute).</p>
            <p>Screen readers will either pause with an uninformative silence when they reach this link: <br>"Link, [...awkward pause where the link title should be...],"<br>or spell out the URL, character by character: <br>"Link, H-T-T-P-S forward-slash forward-slash example dot com"</p>
            <p><strong>To fix:</strong> add text if this should be a link, or delete it if it is a typo.</p>`},linkTextIsURL:{title:"Manual check: is this link text a URL?",tip:e=>`<p>This link's text is:<br> <strong>${e}</strong></p>
        <p><a href="https://webaim.org/techniques/hypertext/link_text" title="Opens in new tab" target="_blank">Links should be meaningful and concise</a>. Readers often skim by link titles. This is especially true of screen reader users, who navigate using a list of on-page links.</p>
         <p>A linked URL breaks this pattern; the reader has to read the preceding paragraph to figure out the link's purpose from context.</p>
            <ul>
                <li>Meaningful and concise link: "Tips for writing meaningful links"</li>
                <li>Linked URL, as pronounced by a screen reader: "H T T P S colon forward-slash forward-slash example dot com forward-slash tips forward-slash meaningful-links"</li>
            </ul>`},linkTextIsGeneric:{title:"Manual check: is this link meaningful and concise?",tip:e=>`<p>This link's text is: <strong>${e}</strong></p>
        <p>Readers skim for links. This is especially true of screen reader users, who navigate using a list of on-page links.</p>
                <p>Generic links like "click here," "read more" or "download" expect the reader be reading slowly and carefully enough to figure out each link's purpose from context. Few readers do this, so click-through rates on meaningless links are extremely poor.</p>
                <ul>
                <li>Ideal: "Learn about <a href="https://webaim.org/techniques/hypertext/link_text" title="Opens in new tab" target="_blank">meaningful links"</a></strong></li>
                <li>Not meaningful: "Click <a href="https://webaim.org/techniques/hypertext/link_text" title="Opens in new tab" target="_blank">here</a> to learn about meaningful links."</li>
                <li>Not concise: "<a href="https://webaim.org/techniques/hypertext/link_text" title="Opens in new tab" target="_blank">Click here to learn more about meaningful links</a>"</li>
                </ul>
                `},linkDocument:{title:"Manual check: is the linked document accessible?",tip:()=>`<p>Many mobile and assistive device users struggle to read content in PDFs. PDFs generally do not allow for changing font sizes, and often contain features that are incompatible with screen readers.</p>
        <p>Ideally make the content of this linked PDF available on a Web page or in an editable document, and only link to this PDF as a "printable" alternative. If this PDF is the only way you are providing to access this content, you will need to <a href='https://webaim.org/techniques/acrobat/' target='_blank' title="Opens in new tab">manually check that the PDF is well-structured</a>, with headings, lists and table headers, and provides alt text for its images.</p>`},linkNewWindow:{title:"Manual check: is opening a new window expected?",tip:()=>`<p>Readers can always choose to open a link a new window. When a link forces open a new window, it can be confusing and annoying, especially for assistive device users who may wonder why their browser's "back" button is suddenly disabled.</p>
                <p>There are two general exceptions:</p>
                <ul>
                    <li>When the user is filling out a form, and opening a link in the same window would cause them to lose their work.</li>
                    <li>When the user is clearly warned a link will open a new window.</li>
                </ul>
                <p><strong>To fix:</strong> set this link back its default target, or add a screen-reader accessible warning (text or an icon with alt text).</p>
                `},tableNoHeaderCells:{title:"Table has no header cells",tip:()=>`
                <p>To fix:</p>
                <ul><li>If this table contains data that is meaningfully organized by row and column, edit the table's properties and specify whether headers have been placed in the first row, column or both. This lets screen reader users hear the headers repeated while navigating the content.</li>
                <li>If this table does not contain rows and columns of data, but is instead being used for visual layout, remove it. Tables overflow the page rather than reflowing on mobile devices, and should only be used when the horizontal relationships are necessary to understand the content.</li></ul>
            `},tableContainsContentHeading:{title:"Content heading inside a table",tip:()=>`<p>To fix: remove heading formatting. Use row and column headers instead.</p>
        <p>Content headings ("Heading 1", "Heading 2") form a navigable table of contents for screen reader users,  
        labelling all content <strong>until the next heading</strong>. Table headers label specific columns or rows within a table.</p> 
            <p></p>
            <table><tr><th>1</th><th>2</th><th>3</th><td rowspan="2">To illustrate: a <strong>table</strong> header in cell 2 would only label its column: cell B. <br><br>
            A <strong>content</strong> heading in cell 2 would label all subsequent text, reading from left to right: cells 3, A, B and C, as well as this text!</td></tr>
            <tr><td>A</td><td>B</td><td>C</td></table>
            `},tableEmptyHeaderCell:{title:"Empty table header cell",tip:()=>`
                <p>When exploring tables, screen readers repeat table header cells as needed to orient users. 
                Without headers, it is very easy to get lost; screen reader users have to count columns and rows and try to remember which columns went with which rows.</p>
                <p><strong>To fix:</strong> make sure each header cell in this table contains text.</p>
            `},textPossibleList:{title:"Manual check: should this have list formatting?",tip:e=>`<p>List formatting is structural:</p> 
            <ol><li>List formatting indents and reflows on overflow. Text aligns vertically with the line above it.</li>
            <li>Lists are machine-readable. Screen readers can orient their users, announcing this as "list item, 2 of 3."</li></ol>
            <p>&nbsp;&nbsp;&nbsp;&nbsp;3. But this third item is just a sentence with a number in front of it. It wraps incorrectly, and screen readers do not know it is related to the other items in the list.</p>
            <p><strong>To fix:</strong> if this "${e}" is part of a list, replace it with list formatting.</p>
            `},textPossibleHeading:{title:"Manual check: should this be a heading?",tip:()=>`<p>If this all-bold line of text is functioning as a heading for the following text rather than a visual emphasis, replace the bold formatting with the appropriately numbered heading. Otherwise, dismiss this alert.</p>
        <p>Headings and subheadings create a <a href="https://www.w3.org/WAI/tutorials/page-structure/headings/" title="Opens in new tab" target="_blank">navigable table of contents</a> for assistive devices. The heading's <strong><em>number</em></strong> indicates its <strong><em>depth</em></strong> in the page outline; e.g.:</p>
            ${Ed11y.M.headingExample}
            
            `},textUppercase:{title:"Manual check: is this uppercase text needed?",tip:()=>`<p>UPPERCASE TEXT CAN BE MORE DIFFICULT TO READ FOR MANY PEOPLE, AND IS OFTEN INTERPRETED AS SHOUTING.</p>
         <p>Consider using sentence case instead, and using bold text or font changes for visual emphasis, or structural formatting like headings for emphasis that will also be announced by screen readers.</p>`},embedVideo:{title:"Manual check: is this video accurately captioned?",tip:()=>`<p>If a recorded video contains speech or meaningful sounds, it must <a href="https://www.w3.org/WAI/media/av/captions/" title="Opens in new window" target="_blank">provide captions</a>.</p>
            <p>Note that automatic, machine-generated captions must be proofread, and speaker identifications must be added, before being considered an equal alternative.</p>`},embedAudio:{title:"Manual check: is an accurate transcript provided?",tip:()=>`<p>If this audio contains speech, a <a href="https://www.w3.org/WAI/media/av/transcribing/" target="_blank" title="Opens in new window">text alternative</a> must be provided on this page or linked.</p>
            <p>Note that automatic, machine-generated transcripts must be proofread, and speaker identifications must be added, before being considered an equal alternative</p>`},embedVisualization:{title:"Manual check: is this visualization accessible?",tip:()=>`<p>Visualization widgets are often difficult or impossible for assistive devices to operate, and can be difficult to understand for readers with low vision or colorblindness.</p>
            <p>Unless this particular widget has high visual contrast, can be operated by a keyboard and described by a screen reader, assume that an alternate format (text description, data table or downloadable spreadsheet) should also be provided.</p>`},embedTwitter:{title:"Manual check: is this embed a keyboard trap?",tip:()=>`<p>If embedded feeds are set to show a high number of items, keyboard users may have to click the tab key dozens or hundreds of times to exit the component.</p>
            <p>Check to make sure only a small number of items auto-load immediately or while scrolling. Having additional items load on request ("show more") is fine.</p>`},embedCustom:{title:"Manual check: is this embedded content accessible?",tip:()=>"<p>Please make sure images inside this embed have alt text, videos have captions, and interactive components can be <a href='https://webaim.org/techniques/keyboard/'>operated by a keyboard</a>.</p>"}}};class Ed11yTestEmbeds{check(){let e=Ed11y.srcMatchesOptions(Ed11y.elements.iframe,Ed11y.options.videoContent);e=e?e.concat(Array.from(Ed11y.elements.video)):Ed11y.elements.video;if(e.length>0){e.forEach(e=>{let t=Ed11y.dismissalKey(e?.getAttribute("src")!=="undefined"?e.getAttribute("src"):e.querySelector("[src]")?.getAttribute("src"));Ed11y.results.push({element:e,test:"embedVideo",content:Ed11y.M.embedVideo.tip(),position:"beforebegin",dismissalKey:t})})}let t=Ed11y.srcMatchesOptions(Ed11y.elements.iframe,Ed11y.options.audioContent);t=t?t.concat(Array.from(Ed11y.elements.audio)):Ed11y.elements.audio;if(t.length>0){t.forEach(e=>{let t=Ed11y.dismissalKey(e?.getAttribute("src")!=="undefined"?e.getAttribute("src"):e.querySelector("[src]")?.getAttribute("src"));Ed11y.results.push({element:e,test:"embedAudio",content:Ed11y.M.embedAudio.tip(),position:"beforebegin",dismissalKey:t})})}let s=Ed11y.srcMatchesOptions(Ed11y.elements.iframe,Ed11y.options.dataVizContent);if(s.length>0){s.forEach(e=>{let t=Ed11y.dismissalKey(e.getAttribute("src"));Ed11y.results.push({element:e,test:"embedVisualization",content:Ed11y.M.embedVisualization.tip(),position:"beforebegin",dismissalKey:t})})}let i=Ed11y.srcMatchesOptions(Ed11y.elements.frame,Ed11y.options.twitterContent);if(i.length>0){i.forEach(t=>{let e=t.querySelectorAll(".timeline-TweetList-tweet");if(!!e&&e>3){let e=Ed11y.dismissalKey(t.getAttribute("src"));Ed11y.results.push({element:t,test:"embedTwitter",content:Ed11y.M.embedTwitter.tip(),position:"beforebegin",dismissalKey:e})}})}if(Ed11y.options.embeddedContent){Ed11y.elements.embed?.forEach(e=>{let t=Ed11y.dismissalKey(e.getAttribute("src")+e.getAttribute("id")+e.getAttribute("class"));Ed11y.results.push({element:e,test:"embedCustom",content:Ed11y.M.embedCustom.tip(),position:"beforebegin",dismissalKey:t})})}}}class Ed11yTestHeadings{check(){Ed11y.panel?.querySelectorAll("#ed11y-outline-list li, .ed11y-headings-label")?.forEach(e=>e.remove());let d=0;let r=false;Ed11y.headingOutline=[];let c="afterbegin";Ed11y.elements.h?.filter(e=>Ed11y.elementNotHidden(e))?.forEach(s=>{if(!Ed11y.addedNodeReadyToCheck(s)){return}let e;let t=[];if(s.isContentEditable!==r){let t=s.closest("[contenteditable]");if(t){Ed11y.options.editorHeadingLevel.some(e=>{if(t.matches(e.selector)){if(e.previousHeading==="inherit"){return true}d=e.previousHeading;return true}})}r=s.isContentEditable}if(s.hasAttribute("aria-level")){e=+s.getAttribute("aria-level")}else{e=+s.tagName.slice(1)}e=parseInt(e);let i="";let n="";let o=Ed11y.computeText(s);let l=o.length;let a=false;if(l<1){let e=s.querySelector("img")?.getAttribute("alt");if(!e||e.length===0){n+=Ed11y.M.errorOutlinePrefixHeadingEmpty;i="headingEmpty";a=false;t.push({element:s,test:i,content:Ed11y.M.headingEmpty.tip(),position:c,dismissalKey:a})}}else if(l>160){n+=Ed11y.M.errorOutlinePrefixHeadingIsLong;a=Ed11y.dismissalKey(e+o);i="headingIsLong";t.push({element:s,test:i,content:Ed11y.M.headingIsLong.tip(),position:c,dismissalKey:a})}if(i!=="headingEmpty"&&d>0&&e-d>1){a=Ed11y.dismissalKey(e+o);n+=Ed11y.M.errorOutlinePrefixSkippedLevel;i="headingLevelSkipped";t.push({element:s,test:i,content:Ed11y.M.headingLevelSkipped.tip(d,e),position:c,dismissalKey:a})}d=e;if(i!==""){if(s.closest(Ed11y.options.checkRoots)!==null||Ed11y.options.shadowComponents&&s.getRootNode()?.host?.matches(Ed11y.options.shadowComponents)!==undefined){t.forEach(e=>{Ed11y.results.push(e)})}else{n=""}}Ed11y.headingOutline.push([s,e,n,a])});Ed11y.elements.blockquote?.forEach(i=>{if(!Ed11y.addedNodeReadyToCheck(i)){return}let n=Ed11y.getText(i);if(n&&n.length<25){let e=Ed11y.dismissalKey(n);let t="blockquoteIsShort";let s=Ed11y.M.blockquoteIsShort.tip();Ed11y.results.push({element:i,test:t,content:s,position:c,dismissalKey:e})}})}}class Ed11yTestImages{check(){Ed11y.imageAlts=[];Ed11y.elements.img.forEach(s=>{let i=s.getAttribute("alt");let e=Ed11y.M.altLabelPrefix;let n=s.getAttribute("src");let o=false;let l=true;let a=Ed11y.parentLink(s);if(typeof i!=="string"){o="altMissing";l=false;e+=Ed11y.M.errorAltMissing}else if(!!Ed11y.options.altPlaceholder&&i.indexOf(Ed11y.options.altPlaceholder)!==-1||i.length===0&&!a){o="altNull";e+=Ed11y.M.errorAltNull}else{e+=i;const r=i.toLowerCase();if(Ed11y.M.meaninglessAlt.includes(r.trim())){o="altMeaningless";l=false}else{let e=[".avi",".png",".jp",".webp",".gif",".tiff",".svg",".hei","://"];let t=Ed11y.M.suspiciousWords;let s=[null,null];e.forEach(e=>{if(r.indexOf(e)>=0){s[0]="URL"}});t.forEach(e=>{const t=r.indexOf(e);if(t>-1&&t<6){s[1]=e}});if(s[0]==="URL"){o="altURL";l=false}else if(s[1]!==null){o="altImageOf"}else if(!a&&i!==""&&i.replace(/"|'|\?|\.|-|\s+/g,"")===""){o="altDeadspace";l=false}else if(i.length>160){o="altLong"}}if(a!==null){s=a;if(!o&&i!==""){let e=Ed11y.computeText(s,0,!!Ed11y.options.linkIgnoreSelector);e=e.replace(i,"");if(Ed11y.options.linkStringsNewWindows&&Ed11y.options.linkStringsNewWindows!==Ed11y.M.linkStringsNewWindows){e=e.toLowerCase().replace(Ed11y.options.linkIgnoreStrings,"")}if(Ed11y.options.linkIgnoreStrings){e=Ed11y.options.linkIgnoreStrings?e.toLowerCase().replace(Ed11y.options.linkIgnoreStrings,""):e.toLowerCase()}e=e.replace(/"|'|\?|\.|-|\s+/g,"");if(e.length>0){o="altPartOfLinkWithText"}}else{o=o?o+"Linked":o}}}let d="pass";if(o){let e=Ed11y.options.langSanitizes?Ed11y.M[o].tip(i):Ed11y.M[o].tip(Ed11y.sanitizeForHTML(i));let t=n?n.split("?")[0]:"nosrc_";l=l?Ed11y.dismissalKey(t+i):false;Ed11y.results.push({element:s,test:o,content:e,position:"beforebegin",dismissalKey:l});d=l===false?"ed11y-error":"ed11y-warning"}Ed11y.imageAlts.push([s,n,e,d])})}}class Ed11yTestLinks{check(){Ed11y.elements.a?.forEach(i=>{let n=Ed11y.computeText(i,0,!!Ed11y.options.linkIgnoreSelector);let e=i.querySelectorAll("img");let o=e.length>0;let t=i.matches(Ed11y.options.documentLinks);if(i?.getAttribute("target")==="_blank"){if(!(Ed11y.options.linkIgnoreSelector&&i?.querySelector(Ed11y.options.linkIgnoreSelector)||n.toLowerCase().match(Ed11y.options.linkStringsNewWindows))){let e=Ed11y.dismissalKey(n);Ed11y.results.push({element:i,test:"linkNewWindow",content:Ed11y.M.linkNewWindow.tip(),position:"beforebegin",dismissalKey:e})}}if(n.replace(/"|'|\?|\.|-|\s+/g,"").length===0&&!(Ed11y.options.linkIgnoreSelector&&i.querySelector(Ed11y.options.linkIgnoreSelector))){if(o===false){Ed11y.results.push({element:i,test:"linkNoText",content:Ed11y.M.linkNoText.tip(),position:"beforebegin",dismissalKey:false})}else{Ed11y.results.push({element:i,test:"altEmptyLinked",content:Ed11y.M.altEmptyLinked.tip(),position:"beforebegin",dismissalKey:false})}}else{let e=function(t){let e=t;if(Ed11y.options.linkStringsNewWindows&&Ed11y.options.linkStringsNewWindows!==Ed11y.M.linkStringsNewWindows){e=e.toLowerCase().replace(Ed11y.options.linkIgnoreStrings,"")}if(Ed11y.options.linkIgnoreStrings){e=Ed11y.options.linkIgnoreStrings?e.toLowerCase().replace(Ed11y.options.linkIgnoreStrings,""):e.toLowerCase()}let s=Ed11y.options.linksUrls?Ed11y.options.linksUrls:Ed11y.M.linksUrls;let i=Ed11y.options.linksMeaningless?Ed11y.options.linksMeaningless:Ed11y.M.linksMeaningless;let n="none";if(e.replace(i,"").length===0){n="generic"}else{for(let e=0;e<s.length;e++){if(t.indexOf(s[e])>-1){n="url";break}}}return n};let s=e(n);if(s!=="none"){let e=false;let t=false;if(!o){t="linkTextIsURL";e=Ed11y.dismissalKey(n)}if(s==="generic"){t="linkTextIsGeneric";e=Ed11y.dismissalKey(n)}if(t){Ed11y.results.push({element:i,test:t,content:Ed11y.M[t].tip(Ed11y.sanitizeForHTML(n)),position:"beforebegin",dismissalKey:e})}}}if(t){let e=Ed11y.dismissalKey(i?.getAttribute("href"));Ed11y.results.push({element:i,test:"linkDocument",content:Ed11y.M.linkDocument.tip(),position:"beforebegin",dismissalKey:e})}})}}class Ed11yTestText{check(){const d=new RegExp(/(([023456789][\d\s])|(1\d))/,"");const r=new RegExp(/(^[aA1]|[^\p{Alphabetic}\s])[-\s.)]/,"u");const c=new RegExp(/\p{Extended_Pictographic}/,"u");const y=["a","A","1"];const t={b:"a",B:"A",2:"1"};const p=function(e){return e.replace(/^b|^B|^2/,function(e){return t[e]})};let u="";let h="";let m=false;Ed11y.elements.p?.forEach((i,e)=>{let s=false;let n=false;h=h?h:Ed11y.getText(i).replace("(","");let o=h.substring(0,2);const l=o.match(r);const t=o.match(d);const a=o.match(c);if(o.length>0&&o!==u&&!t&&(l||a)){let t=Ed11y.elements.p[e+1];e:if(t){s=Ed11y.getText(t).replace("(","").substring(0,2);if(y.includes(s?.toLowerCase().trim())){break e}let e=p(s);if(l){if(o!=="A "&&o===e){n=true}}else if(a&&!m){if(e.match(c)){n=true;m=true}}}if(!n){let e=i?.querySelector("br")?.nextSibling?.nodeValue;if(e){e=e.replace(/<\/?[^>]+(>|$)/g,"").replace("(","").trim().substring(0,2);if(o===p(e)||!l&&!m&&e.match(c)){n=true}}}if(n){let e=Ed11y.dismissalKey(h);Ed11y.results.push({element:i,test:"textPossibleList",content:Ed11y.options.langSanitizes?Ed11y.M.textPossibleList.tip(o):Ed11y.M.textPossibleList.tip(Ed11y.sanitizeForHTML(o)),position:"afterbegin",dismissalKey:e});u=o}else{u="";m=false}}else{let s=i.querySelector("strong:not(table strong), b:not(table b)");if(s&&!i.querySelector("a")){s=Ed11y.getText(s);let e=s.length;let t=s.match(/[.:;?!"']/)!==null;if(121>e&&e>5&&e===h.length&&t===false){let e=Ed11y.dismissalKey(s);Ed11y.results.push({element:i,test:"textPossibleHeading",content:Ed11y.M.textPossibleHeading.tip(),position:"afterbegin",dismissalKey:e})}}}h=s?"":s});let s=function(s){let i="";if(s.tagName==="LI"){s.childNodes.forEach(e=>{if(e.nodeType===3){i+=e.textContent}})}else{i=Ed11y.getText(s)}let e=/([A-Z]{2,}[ ])([A-Z]{2,}[ ])([A-Z]{2,}[ ])([A-Z]{2,})/g;let t=i.match(e);if(t&&t[0].length>10){let e=Ed11y.dismissalKey(i);let t=s.closest("a, button");if(t){Ed11y.results.push({element:t,test:"textUppercase",content:Ed11y.M.textUppercase.tip(),position:"beforebegin",dismissalKey:e})}else{Ed11y.results.push({element:s,test:"textUppercase",content:Ed11y.M.textUppercase.tip(),position:"afterbegin",dismissalKey:e})}}};Ed11y.elements.h?.forEach(e=>{s(e)});Ed11y.elements.p?.forEach(e=>{s(e)});Ed11y.elements.blockquote?.forEach(e=>{s(e)});Ed11y.elements.li?.forEach(e=>{s(e)});Ed11y.elements.table.forEach(e=>{if(!Ed11y.addedNodeReadyToCheck(e)){return}let t=e.querySelectorAll("th");let s=e.querySelectorAll("h1, h2, h3, h4, h5, h6");if(t.length===0){Ed11y.results.push({element:e,test:"tableNoHeaderCells",content:Ed11y.M.tableNoHeaderCells.tip(),position:"beforebegin",dismissalKey:false})}else{Array.from(t).some(e=>{if(Ed11y.computeText(e).length<1){Ed11y.results.push({element:e,test:"tableEmptyHeaderCell",content:Ed11y.M.tableEmptyHeaderCell.tip(),position:"afterbegin",dismissalKey:false});return true}})}if(s){s.forEach(e=>{Ed11y.results.push({element:e,test:"tableContainsContentHeading",content:Ed11y.M.tableContainsContentHeading.tip(),position:"beforebegin",dismissalKey:false})})}})}}class Ed11y{constructor(e){Ed11y.version="2.3.2";let t={cssUrls:false,checkRoots:false,shadowComponents:false,ignoreElements:false,ignoreByKey:{p:"table p",img:"[aria-hidden], [aria-hidden] img",a:"[aria-hidden][tabindex]",table:'[role="presentation"]'},alertMode:"userPreference",inlineAlerts:true,editableContent:'[contenteditable="true"]:not(.gutenberg__editor [contenteditable]), .gutenberg__editor .interface-interface-skeleton__content',currentPage:false,allowHide:true,allowOK:true,syncedDismissals:false,reportsURL:false,showDismissed:false,ignoreAllIfAbsent:false,ignoreAllIfPresent:false,preventCheckingIfPresent:false,preventCheckingIfAbsent:false,linkIgnoreStrings:false,linkIgnoreSelector:false,checkVisible:true,hiddenHandlers:"",panelPinTo:"right",panelOffsetX:"25px",panelOffsetY:"25px",panelNoCover:"",lang:"en",langSanitizes:false,theme:"sleekTheme",sleekTheme:{bg:"#eff2ff",bgHighlight:"#7b1919",text:"#20160c",primary:"#276499",primaryText:"#fffdf7",button:"transparent",panelBar:"#1e517c",panelBarText:"#fffdf7",panelBarShadow:"0 0 0 1px #276499",activeTab:"#276499",activeTabText:"#fffffe",focusRing:"#007aff",outlineWidth:"0",borderRadius:"3px",ok:"#1f5381",warning:"rgb(250, 216, 89)",warningText:"#20160c",alert:"rgb(184, 5, 25)",alertText:"#f4f7ff"},darkTheme:{bg:"#0a2051",bgHighlight:"#7b1919",text:"#f4f7ff",primary:"#3052a0",primaryText:"#f4f7ff",button:"transparent",panelBar:"#3052a0",panelBarText:"#f4f7ff",panelBarShadow:"inset 0 0 1px, 0 0 0 1px #0a2051",activeTab:"#0a2051",activeTabText:"#fffffe",focusRing:"cyan",outlineWidth:"2px",borderRadius:"3px",ok:"#0a307a",warning:"rgb(250, 216, 89)",warningText:"#20160c",alert:"rgb(184, 5, 25)",alertText:"#f4f7ff"},lightTheme:{bg:"#fffffe",bgHighlight:"#7b1919",text:"#20160c",primary:"#0a307a",primaryText:"#fffdf7",panelBar:"#0a307a",panelBarText:"#f4f7ff",panelBarShadow:"0 0 0 1px #0a307a",button:"transparent",activeTab:"#b9c0cf",activeTabText:"#20160c",focusRing:"#007aff",outlineWidth:"0",borderRadius:"3px",ok:"#0a307a",warning:"rgb(250, 216, 89)",warningText:"#20160c",alert:"rgb(184, 5, 25)",alertText:"#f4f7ff"},buttonZIndex:1299,baseFontSize:"clamp(14px, 1.5vw, 16px)",baseTipSize:"clamp(1.14em, 1.5vw, 1.3125em)",baseFontFamily:'-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif',embeddedContent:false,embeddedContentTitle:"",embeddedContentMessage:"",videoContent:"youtube.com, vimeo.com, yuja.com, panopto.com",audioContent:"soundcloud.com, simplecast.com, podbean.com, buzzsprout.com, blubrry.com, transistor.fm, fusebox.fm, libsyn.com",dataVizContent:"datastudio.google.com, tableau",twitterContent:"twitter-timeline",documentLinks:"a[href$='.pdf'], a[href*='.pdf?']",linksUrls:false,linksMeaningless:false,altPlaceholder:false,editorHeadingLevel:[{selector:"*",previousHeading:0}],userPrefersShut:localStorage.getItem("editoria11yShow")==="0",customTests:0};Ed11y.options={...t,...e};Ed11y.M={...ed11yLang["en"],...ed11yLang[Ed11y.options.lang]};Ed11y.theme=Ed11y.options[Ed11y.options.theme];Ed11y.theme.baseFontSize=Ed11y.options.baseFontSize;Ed11y.theme.baseTipSize=Ed11y.options.baseTipSize;Ed11y.theme.buttonZIndex=Ed11y.options.buttonZIndex;Ed11y.theme.baseFontFamily=Ed11y.options.baseFontFamily;if(Ed11y.options.currentPage===false){Ed11y.options.currentPage=window.location.pathname}if(!Ed11y.options.linkStringsNewWindows){Ed11y.options.linkStringsNewWindows=Ed11y.M.linkStringsNewWindows}if(!Ed11y.options.cssUrls){const b=document.querySelector('link[href*="editoria11y.css"], link[href*="editoria11y.min.css"]');if(b){Ed11y.options.cssUrls=[b.getAttribute("href")]}else{console.warn("Editoria11y CSS file parameter is missing; attempting to load from CDN.");Ed11y.options.cssUrls=["https://cdn.jsdelivr.net/gh/itmaybejj/editoria11y@2/dist/editoria11y.min.css"]}}const s=document.createElement("div");s.setAttribute("hidden","");Ed11y.options.cssUrls?.forEach(e=>{const t=document.createElement("link");t.setAttribute("rel","stylesheet");t.setAttribute("media","all");t.setAttribute("href",e+"?ver="+Ed11y.version);s.append(t)});Ed11y.attachCSS=function(e){e.appendChild(s.cloneNode(true))};Ed11y.elements=[];Ed11y.onLoad=true;Ed11y.showPanel=false;let S=window.innerWidth;Ed11y.disable=()=>{if(Ed11y.open&&!Ed11y.closedByDisable){Ed11y.closedByDisable=true}Ed11y.disabled=true;Ed11y.reset();document.documentElement.style.setProperty("--ed11y-activeBackground",Ed11y.theme.panelBar);document.documentElement.style.setProperty("--ed11y-activeColor",Ed11y.theme.panelBarText);document.documentElement.style.setProperty("--ed11y-activeBorder",Ed11y.theme.panelBarText+"44");document.documentElement.style.setProperty("--ed11y-activePanelBorder","transparent");if(Ed11y.panelToggle){Ed11y.panel?.classList.remove("ed11y-errors","ed11y-warnings");Ed11y.panelCount.textContent="i";Ed11y.panelJumpNext.setAttribute("hidden","");Ed11y.panelToggle.classList.add("disabled");Ed11y.panelToggle.querySelector(".ed11y-sr-only").textContent=Ed11y.M.toggleDisabled}};Ed11y.initialize=()=>{Ed11y.checkRunPrevent=()=>{let e=Ed11y.options.preventCheckingIfPresent?document.querySelector(Ed11y.options.preventCheckingIfPresent):false;if(e){console.warn(`Editoria11y is disabled because an element matched the "preventCheckingIfPresent" parameter:  "${Ed11y.options.preventCheckingIfPresent}"`)}else if(!e&&!!Ed11y.options.preventCheckingIfAbsent){e=document.querySelector(`:is(${Ed11y.options.preventCheckingIfAbsent})`)===null;if(e){console.warn(`Editoria11y is disabled because no elements matched the "preventCheckingIfAbsent" parameter: "${Ed11y.options.preventCheckingIfAbsent}"`)}}return e};const e=e=>{if(document.readyState==="complete"){e()}else{window.addEventListener("load",e)}};e(()=>{if(Ed11y.checkRunPrevent()){return false}Ed11y.running=true;let e=localStorage.getItem("editoria11yResultCount");Ed11y.seen=e?JSON.parse(e):{};if(Ed11y.options.syncedDismissals===false){Ed11y.dismissedAlerts=localStorage.getItem("ed11ydismissed");Ed11y.dismissedAlerts=Ed11y.dismissedAlerts?JSON.parse(Ed11y.dismissedAlerts):{}}else{Ed11y.dismissedAlerts={};Ed11y.dismissedAlerts[Ed11y.options.currentPage]=Ed11y.options.syncedDismissals}if(Ed11y.options.currentPage in Ed11y.dismissedAlerts){for(const[t]of Object.entries(Ed11y.dismissedAlerts[Ed11y.options.currentPage])){if(t in Ed11y.dismissedAlerts[Ed11y.options.currentPage]){for(const[s,i]of Object.entries(Ed11y.dismissedAlerts[Ed11y.options.currentPage][t])){let e=Ed11y.dismissalKey(s);if(e!==s){Ed11y.dismissedAlerts[Ed11y.options.currentPage][t][e]=i;delete Ed11y.dismissedAlerts[Ed11y.options.currentPage][t][s]}}}}}Ed11y.testEmbeds=new Ed11yTestEmbeds;Ed11y.testHeadings=new Ed11yTestHeadings;Ed11y.testImages=new Ed11yTestImages;Ed11y.testLinks=new Ed11yTestLinks;Ed11y.testText=new Ed11yTestText;Ed11y.ignore=Ed11y.options.ignoreElements?`:not(${Ed11y.options.ignoreElements})`:"";if(!Ed11y.options.checkRoots){Ed11y.options.checkRoots=document.querySelector("main")!==null?"main":"body"}Ed11y.checkAll();window.addEventListener("resize",function(){Ed11y.windowResize()})})};Ed11y.results=[];Ed11y.checkAll=()=>{Ed11y.disabled=false;if(!Ed11y.checkRunPrevent()){Ed11y.ignoreAll=Ed11y.options.ignoreAllIfAbsent&&document.querySelector(`:is(${Ed11y.options.ignoreAllIfAbsent})`)===null;if(!Ed11y.ignoreAll&&!!Ed11y.options.ignoreAllIfPresent){Ed11y.ignoreAll=document.querySelector(`:is(${Ed11y.options.ignoreAllIfPresent})`)!==null}if(Ed11y.incremental){Ed11y.oldResults=Ed11y.results}Ed11y.results=[];Ed11y.elements=[];Ed11y.mediaCount=0;Ed11y.customTestsRunning=false;let t=document.querySelectorAll(`:is(${Ed11y.options.checkRoots})`);if(t.length===0){if(Ed11y.onLoad){console.warn("Check Editoria11y configuration; specified root element not found")}Ed11y.disable();return}else{Ed11y.roots=[];t.forEach((e,t)=>{if(e.shadowRoot){Ed11y.roots[t]=e.shadowRoot}else{Ed11y.roots[t]=e}});Ed11y.buildElementList();let e=["testLinks","testImages","testHeadings","testText","testEmbeds"];e.forEach(e=>{window.setTimeout(function(e){Ed11y[e].check()},0,e)});if(Ed11y.options.customTests>0){Ed11y.customTestsRunning=true;Ed11y.customTestsFinished=0;document.addEventListener("ed11yResume",function(){Ed11y.customTestsFinished++;if(Ed11y.customTestsFinished===Ed11y.options.customTests){Ed11y.customTestsRunning=false;Ed11y.updatePanel()}});window.setTimeout(function(){if(Ed11y.customTestsRunning===true){Ed11y.customTestsRunning=false;if(Ed11y.panelToggle){Ed11y.panelToggle.querySelector(".ed11y-sr-only").textContent=Ed11y.M.toggleAccessibilityTools}Ed11y.updatePanel();console.error("Editoria11y was told to wait for custom tests, but no tests were returned.")}},1e3);window.setTimeout(function(){let e=new CustomEvent("ed11yRunCustomTests");document.dispatchEvent(e)},0)}}if(!Ed11y.customTestsRunning){window.setTimeout(function(){if(Ed11y.panelToggle){Ed11y.panelToggle.querySelector(".ed11y-sr-only").textContent=Ed11y.M.toggleAccessibilityTools}Ed11y.updatePanel()},0)}}else{Ed11y.disable()}};Ed11y.totalCount=0;Ed11y.countAlerts=function(){Ed11y.errorCount=0;Ed11y.warningCount=0;Ed11y.dismissedCount=0;if(Ed11y.ignoreAll){Ed11y.dismissedCount=Ed11y.results.length>0?1:0}else{Ed11y.dismissedCount=0;for(let s=Ed11y.results.length-1;s>=0;s--){let e=Ed11y.results[s].test;let t=Ed11y.dismissalKey(Ed11y.results[s].dismissalKey);if(t!==false&&Ed11y.options.currentPage in Ed11y.dismissedAlerts&&e in Ed11y.dismissedAlerts[Ed11y.options.currentPage]&&t in Ed11y.dismissedAlerts[Ed11y.options.currentPage][e]){Ed11y.dismissedCount++;Ed11y.results[s].dismissalStatus=Ed11y.dismissedAlerts[Ed11y.options.currentPage][e][t]}else if(Ed11y.results[s].dismissalKey){Ed11y.warningCount++;Ed11y.results[s].dismissalStatus=false}else{Ed11y.errorCount++;Ed11y.results[s].dismissalStatus=false}}}Ed11y.totalCount=Ed11y.errorCount+Ed11y.warningCount;if(!Ed11y.incremental){window.setTimeout(function(){let e=new CustomEvent("ed11yResults");document.dispatchEvent(e)},0)}};let i="";let o=false;const n=function(){if(o||Ed11y.results.length!==Ed11y.oldResults.length){o=false;return true}let t=`${Ed11y.errorCount} ${Ed11y.warningCount}`;Ed11y.results.forEach(e=>{t+=e.test+e.element.outerHTML});let e=t!==i;i=t;return e};Ed11y.updatePanel=function(){Ed11y.countAlerts();if(Ed11y.incremental){if(Ed11y.forceFullCheck||n()){Ed11y.forceFullCheck=false;Ed11y.resetResults()}else{Ed11y.results=Ed11y.oldResults;window.setTimeout(function(){if(!Ed11y.alignPending){Ed11y.alignButtons();Ed11y.alignPanel()}Ed11y.running=false},0);return}}else{if(Ed11y.totalCount>0){Ed11y.seen[encodeURI(Ed11y.options.currentPage)]=Ed11y.totalCount;localStorage.setItem("editoria11yResultCount",JSON.stringify(Ed11y.seen))}else{delete Ed11y.seen[encodeURI(Ed11y.options.currentPage)]}}if(Ed11y.options.alertMode!=="headless"){if(Ed11y.onLoad===true){Ed11y.onLoad=false;if(!Ed11y.options.inlineAlerts){i=`${Ed11y.errorCount} ${Ed11y.warningCount}`;Ed11y.results.forEach(e=>{i+=e.test+e.element.outerHTML})}let e=document.createElement("ed11y-element-panel");document.querySelector("body").appendChild(e);Ed11y.attachCSS(Ed11y.panel);Ed11y.panel.querySelector("#ed11y-visualize .ed11y-sr-only").textContent=Ed11y.M.buttonToolsContent;Ed11y.panel.querySelector("#ed11y-headings-tab .summary-title").textContent=Ed11y.M.buttonOutlineContent;Ed11y.panel.querySelector("#ed11y-headings-tab .details-title").innerHTML=Ed11y.M.panelCheckOutline;Ed11y.panel.querySelector("#ed11y-alts-tab .summary-title").textContent=Ed11y.M.buttonAltsContent;Ed11y.panel.querySelector("#ed11y-alts-tab .details-title").innerHTML=Ed11y.M.panelCheckAltText;Ed11y.panel.querySelector(".jump-next.ed11y-sr-only").textContent=Ed11y.M.buttonFirstContent;Ed11y.panel.setAttribute("aria-label",Ed11y.M.panelControls);if(Ed11y.options.reportsURL){let e=document.createElement("a");e.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">\x3c!--!Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--\x3e<path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zm64 0l0 64 64 0 0-64L64 96zm384 0L192 96l0 64 256 0 0-64zM64 224l0 64 64 0 0-64-64 0zm384 0l-256 0 0 64 256 0 0-64zM64 352l0 64 64 0 0-64-64 0zm384 0l-256 0 0 64 256 0 0-64z"/></svg><span class="ed11y-sr-only"></span>';e.setAttribute("id","ed11y-reports-link");e.setAttribute("href",Ed11y.options.reportsURL);e.setAttribute("target","_blank");e.setAttribute("aria-label",Ed11y.M.reportsLink);e.querySelector(".ed11y-sr-only").textContent=Ed11y.M.reportsLink;Ed11y.showDismissed.insertAdjacentElement("beforebegin",e)}if(Ed11y.options.alertMode==="active"||!Ed11y.options.userPrefersShut||Ed11y.options.showDismissed){Ed11y.showPanel=true}else if(Ed11y.totalCount>0&&!Ed11y.ignoreAll&&(Ed11y.options.alertMode==="assertive"||Ed11y.options.alertMode==="polite"&&Ed11y.seen[encodeURI(Ed11y.options.currentPage)]!==Ed11y.totalCount)){Ed11y.showPanel=true}}if(!Ed11y.showPanel){Ed11y.reset()}else{Ed11y.open=true;Ed11y.panel.classList.remove("ed11y-shut");Ed11y.panel.classList.add("ed11y-active");Ed11y.panelToggle.setAttribute("aria-expanded","true");Ed11y.panelToggleTitle.textContent=Ed11y.totalCount>0?Ed11y.M.buttonHideAlerts:Ed11y.M.buttonHideChecker;if(Ed11y.dismissedCount===0){Ed11y.showDismissed.setAttribute("hidden","");Ed11y.showDismissed.setAttribute("data-ed11y-pressed","false");Ed11y.options.showDismissed=false}else if(Ed11y.dismissedCount===1){Ed11y.showDismissed.querySelector(".ed11y-sr-only").textContent=Ed11y.options.showDismissed?Ed11y.M.buttonHideHiddenAlert:Ed11y.M.buttonShowHiddenAlert;Ed11y.showDismissed.removeAttribute("hidden")}else{Ed11y.showDismissed.querySelector(".ed11y-sr-only").textContent=Ed11y.options.showDismissed?Ed11y.M.buttonHideHiddenAlerts(Ed11y.dismissedCount):Ed11y.M.buttonShowHiddenAlerts(Ed11y.dismissedCount);Ed11y.showDismissed.removeAttribute("hidden")}window.setTimeout(function(){document.dispatchEvent(new CustomEvent("ed11yPanelOpened"));if(!Ed11y.ignoreAll){Ed11y.showResults()}},0)}if(Ed11y.totalCount>0||Ed11y.options.showDismissed&&Ed11y.dismissedCount>0){Ed11y.panelToggleTitle.textContent=Ed11y.open?Ed11y.M.buttonHideAlerts:Ed11y.M.buttonShowAlerts;Ed11y.panelJumpNext.removeAttribute("hidden");if(Ed11y.errorCount>0){Ed11y.panel.classList.remove("ed11y-warnings","ed11y-pass");Ed11y.panel.classList.add("ed11y-errors");document.documentElement.style.setProperty("--ed11y-activeBackground",Ed11y.theme.alert);document.documentElement.style.setProperty("--ed11y-activeColor","#fff");document.documentElement.style.setProperty("--ed11y-activeBorder","#fff7");document.documentElement.style.setProperty("--ed11y-activePanelBorder","#def")}else if(Ed11y.warningCount>0){Ed11y.panel.classList.remove("ed11y-errors","ed11y-pass");Ed11y.panel.classList.add("ed11y-warnings");document.documentElement.style.setProperty("--ed11y-activeBackground",Ed11y.theme.warning);document.documentElement.style.setProperty("--ed11y-activeColor","#111");document.documentElement.style.setProperty("--ed11y-activeBorder","#947605");document.documentElement.style.setProperty("--ed11y-activePanelBorder","#947605")}else{Ed11y.panel.classList.remove("ed11y-errors","ed11y-warnings");Ed11y.panel.classList.add("ed11y-pass");document.documentElement.style.setProperty("--ed11y-activeBackground",Ed11y.theme.panelBar);document.documentElement.style.setProperty("--ed11y-activeColor",Ed11y.theme.panelBarText);document.documentElement.style.setProperty("--ed11y-activeBorder",Ed11y.theme.panelBarText+"44");document.documentElement.style.setProperty("--ed11y-activePanelBorder","transparent")}if(Ed11y.dismissedCount>0&&Ed11y.totalCount===0){Ed11y.panelCount.textContent=Ed11y.dismissedCount}else{Ed11y.panelCount.textContent=Ed11y.totalCount>99?"99+":Ed11y.totalCount}}else{Ed11y.panelJumpNext.setAttribute("hidden","");document.documentElement.style.setProperty("--ed11y-activeBackground",Ed11y.theme.panelBar);document.documentElement.style.setProperty("--ed11y-activeColor",Ed11y.theme.panelBarText);document.documentElement.style.setProperty("--ed11y-activeBorder",Ed11y.theme.panelBarText+"44");document.documentElement.style.setProperty("--ed11y-activePanelBorder","transparent");Ed11y.panelCount.style.display="display: none;";Ed11y.panel.classList.remove("ed11y-warnings","ed11y-errors");Ed11y.panel.classList.add("ed11y-pass");if(Ed11y.dismissedCount>0){Ed11y.panelCount.textContent="i";if(Ed11y.open){Ed11y.panelToggleTitle.textContent=Ed11y.M.buttonHideChecker}else{Ed11y.panelToggleTitle.textContent=Ed11y.dismissedCount>1?Ed11y.M.buttonShowHiddenAlerts(Ed11y.dismissedCount):Ed11y.M.buttonShowHiddenAlert}}else{Ed11y.panelCount.textContent="✓";Ed11y.panelToggleTitle.textContent=Ed11y.open?Ed11y.M.buttonHideChecker:Ed11y.M.buttonShowNoAlert}}Ed11y.panel.classList.remove("ed11y-preload");Ed11y.panelToggle.classList.remove("disabled");Ed11y.panelToggle.removeAttribute("aria-disabled");Ed11y.alignPanel();if(!Ed11y.bodyStyle){Ed11y.paintReady()}}Ed11y.running=false;if(Ed11y.elements["editable"]){Ed11y.elements["editable"].forEach(e=>{f(e)})}};Ed11y.result=function(t,e){let s=document.createElement("ed11y-element-result");s.classList.add("ed11y-preload");let i;let n="beforebegin";s.setAttribute("id","ed11y-result-"+e);s.setAttribute("data-ed11y-result",e);s.setAttribute("data-ed11y-open","false");if(!Ed11y.options.inlineAlerts){i=document.querySelector("body");n="beforeend";s.classList.add("ed11y-editable-result")}else{i=t.element.closest('a, button, [role="button"], [role="link"]');if(!i){i=t.element;n=t.position}if(t.element.style.outline.indexOf("alert")===-1){const o=window.getComputedStyle(t.element).getPropertyValue("display");let e;if(o.indexOf("inline")===-1||t.element.tagName==="IMG"){e=t.dismissalKey?"ed11y-warning-block":"ed11y-error-block"}else{e=t.dismissalKey?"ed11y-warning-inline":"ed11y-error-inline"}t.element.classList.add(e)}}i.insertAdjacentElement(n,s);Ed11y.jumpList.unshift(s);Ed11y.results[e].toggle=s};Ed11y.resetResults=function(){Ed11y.jumpList=[];Ed11y.openTip={button:false,tip:false};Ed11y.lastOpenTip=-1;Ed11y.resetClass(["ed11y-ring-red","ed11y-ring-yellow","ed11y-hidden-highlight","ed11y-warning-inline","ed11y-warning-block","ed11y-error-block","ed11y-error-inline"]);Ed11y.findElements("reset","ed11y-element-heading-label, ed11y-element-alt, ed11y-element-highlight",false);Ed11y.elements.reset?.forEach(e=>e.remove());Ed11y.findElements("delayedReset","ed11y-element-result, ed11y-element-tip",false);const e=Ed11y.elements.delayedReset;window.setTimeout(()=>{e?.forEach(e=>e.remove())},10,e);if(Ed11y.panelJumpNext){Ed11y.panelJumpNext.querySelector(".ed11y-sr-only").textContent=Ed11y.M.buttonFirstContent}};Ed11y.resetPanel=function(){Ed11y.visualizing=true;Ed11y.visualize();if(Ed11y.totalCount===0&&Ed11y.dismissedCount>0){Ed11y.panelCount.textContent="i";Ed11y.panelToggleTitle.textContent=Ed11y.dismissedCount===1?Ed11y.M.buttonShowHiddenAlert:Ed11y.M.buttonShowHiddenAlerts(Ed11y.dismissedCount)}if(!Ed11y.options.showDismissed&&Ed11y.showDismissed){Ed11y.showDismissed.setAttribute("data-ed11y-pressed","false");Ed11y.showDismissed.querySelector(".ed11y-sr-only").textContent=Ed11y.dismissedCount===1?Ed11y.M.buttonShowHiddenAlert:Ed11y.M.buttonShowHiddenAlerts(Ed11y.dismissedCount)}Ed11y.panel?.classList.add("ed11y-shut");Ed11y.panel?.classList.remove("ed11y-active");Ed11y.panelToggle?.setAttribute("aria-expanded","false")};Ed11y.reset=function(){Ed11y.resetResults();Ed11y.resetPanel();Ed11y.incremental=false;Ed11y.running=false;Ed11y.showPanel=false;Ed11y.open=false};Ed11y.linkText=e=>{e=e.replace(Ed11y.options.linkIgnoreStrings,"");e=e.replace(/'|"|-|\.|\s+/g,"");return e};Ed11y.findElements=function(s,i,e=true){Ed11y.findElements.key=[];let t=Ed11y.options.shadowComponents?`, ${Ed11y.options.shadowComponents}`:"";let n="";if(Ed11y.options.ignoreElements){n=Ed11y.options.ignoreByKey[s]?`:not(${Ed11y.options.ignoreElements}, ${Ed11y.options.ignoreByKey[s]})`:`:not(${Ed11y.options.ignoreElements})`}else{n=Ed11y.options.ignoreByKey[s]?`:not(${Ed11y.options.ignoreByKey[s]})`:""}Ed11y.elements[s]=[];if(e&&Ed11y.roots){Ed11y.roots.forEach(e=>{Ed11y.elements[s]=Ed11y.elements[s].concat(Array.from(e.querySelectorAll(`:is(${i}${t})${n}`)))})}else{Ed11y.elements[s]=Ed11y.elements[s].concat(Array.from(document.querySelectorAll(`:is(${i}${t})${n}`)))}if(Ed11y.options.shadowComponents){for(let t=Ed11y.elements[s].length-1;t>=0;t--){if(Ed11y.elements[s][t].matches(Ed11y.options.shadowComponents)){let e=Ed11y.elements[s][t].shadowRoot?.querySelectorAll(`:is(${i})${n}`);if(typeof e==="object"&&e.length>0){Ed11y.elements[s].splice(t,1,...e)}else{console.warn("Editoria11y: A specified shadow host has no shadowRoot.");Ed11y.elements[s].splice(t,1)}}}}};Ed11y.buildElementList=function(){Ed11y.findElements("editable",Ed11y.options.editableContent,false);if(Ed11y.options.inlineAlerts&&Ed11y.elements.editable.length>0){Ed11y.options.inlineAlerts=false;console.log("Editable content detected; Editoria11y inline alerts disabled")}Ed11y.findElements("p","p");Ed11y.findElements("h",'h1, h2, h3, h4, h5, h6, [role="heading"][aria-level]',false);Ed11y.findElements("img","img");Ed11y.findElements("a","a[href]");Ed11y.findElements("li","li");Ed11y.findElements("blockquote","blockquote");Ed11y.findElements("iframe","iframe");Ed11y.findElements("audio","audio");Ed11y.findElements("video","video");Ed11y.findElements("table","table");if(Ed11y.options.embeddedContent){Ed11y.findElements("embed",Ed11y.options.embeddedContent)}if(Ed11y.options.panelNoCover){Ed11y.findElements("panelPin",Ed11y.options.panelNoCover,false)}};Ed11y.dismissalKey=function(e){return String(e).replace(/([^0-9a-zA-Z])/g,"").substring(0,512)};Ed11y.dismissThis=function(s){let e=Ed11y.openTip;let t=e.tip.dataset.ed11yResult;let i=Ed11y.results[t].test;let n=Ed11y.dismissalKey(Ed11y.results[t].dismissalKey);Ed11y.resetClass(["ed11y-hidden-highlight","ed11y-ring-red","ed11y-ring-yellow"]);e.tip?.parentNode.removeChild(e.tip);e.button?.parentNode.removeChild(e.button);if(s==="reset"){delete Ed11y.dismissedAlerts[Ed11y.options.currentPage][i][n];if(Object.keys(Ed11y.dismissedAlerts[Ed11y.options.currentPage][i]).length===0){delete Ed11y.dismissedAlerts[Ed11y.options.currentPage][i]}if(Object.keys(Ed11y.dismissedAlerts[Ed11y.options.currentPage]).length===0){delete Ed11y.dismissedAlerts[Ed11y.options.currentPage]}Ed11y.updatePanel()}else{let t={};t[n]=s;if(typeof Ed11y.dismissedAlerts[Ed11y.options.currentPage]=="undefined"){let e={};e[i]=t;Ed11y.dismissedAlerts[Ed11y.options.currentPage]=e}else if(typeof Ed11y.dismissedAlerts[Ed11y.options.currentPage][i]==="undefined"){Ed11y.dismissedAlerts[Ed11y.options.currentPage][i]=t}else{Ed11y.dismissedAlerts[Ed11y.options.currentPage][i][n]=s}Ed11y.showDismissed.removeAttribute("hidden")}if(Ed11y.options.syncedDismissals===false){localStorage.setItem("ed11ydismissed",JSON.stringify(Ed11y.dismissedAlerts))}else{let e={dismissPage:Ed11y.options.currentPage,dismissTest:i,dismissKey:n,dismissAction:s};let t=new CustomEvent("ed11yDismissalUpdate",{detail:e});document.dispatchEvent(t)}Ed11y.reset();Ed11y.showPanel=true;Ed11y.checkAll();let o=Ed11y.lastOpenTip;window.setTimeout(function(){if(Ed11y.jumpList.length>0){Ed11y.lastOpenTip=o-1;Ed11y.panelJumpNext?.focus()}else{window.setTimeout(function(){Ed11y.panelToggle?.focus()},100)}},500,o)};Ed11y.transferFocus=function(){if(!Ed11y.openTip.tip){return}const e=Ed11y.openTip.tip.dataset.ed11yResult;const t=Ed11y.results[e].element;const s=t.closest("[contenteditable]");if(!s&&!t.closest("textarea, input")){if(t.closest("a")){Ed11y.toggledFrom=t.closest("a")}else if(t.getAttribute("tabindex")!==null){Ed11y.toggledFrom=t}else{t.setAttribute("tabindex","0");Ed11y.toggledFrom=t}Ed11y.openTip.tip.shadowRoot.querySelector(".close").click()}else{Ed11y.toggledFrom=false;if(t.getAttribute("contenteditable")==="true"){Ed11y.toggledFrom=t}else if(t.closest('p[contenteditable="true"]')){Ed11y.toggledFrom=t.closest('p[contenteditable="true"]')}else{Ed11y.toggledFrom=false}Ed11y.openTip.tip.shadowRoot.querySelector(".close").click();if(!Ed11y.toggledFrom&&s){s.focus();const i=document.createRange();const n=window.getSelection();i.setStart(t,0);i.collapse(true);n.removeAllRanges();n.addRange(i)}}};Ed11y.toggleShowDismissals=function(){Ed11y.ignoreAll=false;Ed11y.options.showDismissed=!Ed11y.options.showDismissed;Ed11y.reset();Ed11y.showPanel=true;Ed11y.checkAll();Ed11y.showDismissed.setAttribute("data-ed11y-pressed",(!!Ed11y.options.showDismissed).toString());window.setTimeout(function(){Ed11y.showDismissed.focus()},0)};Ed11y.showResults=function(){Ed11y.buildJumpList();document.dispatchEvent(new CustomEvent("ed11yPanelOpened"));Ed11y.alignButtons();if(!Ed11y.options.inlineAlerts){Ed11y.checkEditableIntersects();Ed11y.intersectionObservers()}};Ed11y.editableHighlight=[];Ed11y.alignHighlights=function(){Ed11y.editableHighlight.forEach(e=>{let t=e.target.getBoundingClientRect();if(!Ed11y.visible(e.target)){const s=Ed11y.firstVisibleParent(e.target);t=s?s.getBoundingClientRect():t}e.highlight.style.setProperty("width",t.width+6+"px");e.highlight.style.setProperty("top",t.top+window.scrollY-3+"px");e.highlight.style.setProperty("left",t.left-3+"px");e.highlight.style.setProperty("height",t.height+6+"px")})};Ed11y.editableHighlighter=function(e,t,s){if(!t){Ed11y.editableHighlight[e]?.highlight.style.setProperty("opacity","0");return}const i=Ed11y.results[e];let n=Ed11y.editableHighlight[e]?.highlight;if(!n){n=document.createElement("ed11y-element-highlight");Ed11y.editableHighlight[e]={highlight:n};n.style.setProperty("position","absolute");n.style.setProperty("pointer-events","none");document.body.appendChild(n)}let o=s?s:i.element;Ed11y.editableHighlight[e].target=o;const l=i.dismissalKey?"calc(var(--ed11y-buttonZIndex, 9999) - 2)":"calc(var(--ed11y-buttonZIndex, 9999) - 1)";n.style.setProperty("z-index",l);const a=i.dismissalKey?"0 0 0 1px #fff, inset 0 0 0 2px var(--ed11y-warning, #fad859), 0 0 0 3px var(--ed11y-warning, #fad859), 0 0 0 4px var(--ed11y-primary)":"0 0 0 1px #fff, inset 0 0 0 2px var(--ed11y-alert, #b80519), 0 0 0 3px var(--ed11y-alert, #b80519), 0 0 1px 3px";n.style.setProperty("box-shadow",a);n.style.setProperty("border-radius","3px");n.style.setProperty("top","0");n.style.setProperty("left","0");Ed11y.alignHighlights();n.style.setProperty("opacity","1")};const d=function(t,s,i){if(t.style.transform){const n=window.getComputedStyle(t);let e=n.getPropertyValue("transform");e=e.split(",");t.style.transform=`translate(${parseFloat(e[4])+s}px, ${parseFloat(e[5])+i}px)`}else{t.style.transform=`translate(${s}px, ${i}px)`}};const l=function(e){let t=e.clientHeight&&e.clientHeight<e.scrollHeight;if(t){const s=window.getComputedStyle(e);t=s.overflowY!=="visible"}return t};const a=function(e){let t=e.parentElement;if(t&&t.tagName!=="BODY"){if(l(t)){return t}else{t=a(t);return t}}else{return false}};const r=function(e,t,s,i,n=55){return!(e+n<s||e>s+n||t+n<i||t>i+n)};Ed11y.alignPanel=function(){if(!Ed11y.panelElement){return false}let s=0;let i=0;if(Ed11y.elements.panelPin){Ed11y.elements.panelPin.forEach(e=>{let t=e.getBoundingClientRect();if(Ed11y.options.panelPinTo==="right"){s=S-t.left>s?S-t.left:s}else{s=t.right>s?t.right:s}i=t.height>i?t.height:i})}if(s>0&&s<S-240){Ed11y.panelElement.style.setProperty(Ed11y.options.panelPinTo,s+10+"px");Ed11y.panelElement.style.setProperty("bottom",Ed11y.options.panelOffsetY)}else if(s>0&&s>S-240&&i>0){Ed11y.panelElement.style.setProperty(Ed11y.options.panelPinTo,Ed11y.options.panelOffsetX);Ed11y.panelElement.style.setProperty("bottom",`calc(${Ed11y.options.panelOffsetY} + ${i}px)`)}else{Ed11y.panelElement.style.setProperty(Ed11y.options.panelPinTo,Ed11y.options.panelOffsetX);Ed11y.panelElement.style.setProperty("bottom",Ed11y.options.panelOffsetY)}};Ed11y.alignButtons=function(){if(Ed11y.jumpList.length===0){return}Ed11y.alignPending=true;let o=0;let l=0;const a=window.scrollY;if(!Ed11y.options.inlineAlerts){Ed11y.jumpList.forEach((e,t)=>{let s=e.result.element.getBoundingClientRect();let i=s.top+a;if(!Ed11y.visible(e.result.element)){const o=Ed11y.firstVisibleParent(e.result.element);s=o?o.getBoundingClientRect():s;i=s.top+a}let n=s.left;if(e.result.element.tagName==="IMG"){i=i+10;n=n+10}else{n=n-34}if(e.result.scrollableParent){Ed11y.jumpList[t].bounds=e.result.scrollableParent.getBoundingClientRect();if(n<Ed11y.jumpList[t].bounds.left){n=Ed11y.jumpList[t].bounds.left}else if(n+40>Ed11y.jumpList[t].bounds.right){n=Ed11y.jumpList[t].bounds.right-40}}Ed11y.jumpList[t].targetOffset=s;Ed11y.jumpList[t].markTop=i;Ed11y.jumpList[t].markLeft=n})}else{Ed11y.jumpList.forEach(t=>{t.style.setProperty("transform",null);t.style.setProperty("top","initial");t.style.setProperty("left","initial");if(t.style.transform){const s=window.getComputedStyle(t);let e=s.getPropertyValue("transform");e=e.split(",");t.xOffset=parseFloat(e[4]);t.yOffset=parseFloat(e[5])}else{t.xOffset=0;t.yOffset=0}});Ed11y.jumpList.forEach(e=>{e.markOffset=e.getBoundingClientRect();e.markLeft=e.markOffset.left;e.markTop=e.markOffset.top})}Ed11y.jumpList.forEach((e,t)=>{let s=0;let i=0;if(e.markTop+a<0){s=-1*(e.markTop+a)-6}if(t>0&&r(e.markLeft,e.markTop,Ed11y.jumpList[t-1].markLeft,Ed11y.jumpList[t-1].markTop)||t>1&&r(e.markLeft,e.markTop,Ed11y.jumpList[t-2].markLeft,Ed11y.jumpList[t-2].markTop)||t>2&&r(e.markLeft,e.markTop,Ed11y.jumpList[t-3].markLeft,Ed11y.jumpList[t-3].markTop)){s=s+21+o;i=21+l}let n=false;if(e.markLeft+i<44){i=44-e.markLeft+i;n=true}else if(e.markLeft+i+80>S){n=true;i=S-i-e.markLeft-80}else if(s!==0){n=true}if(!Ed11y.options.inlineAlerts){if(n){e.style.transform=`translate(${e.markLeft+i}px, ${e.markTop+s}px)`}else{e.style.transform=`translate(${e.markLeft}px, ${e.markTop}px)`}}else if(n){d(e,i,s)}e.nudgeLeft=i;e.nudgeTop=s;o=s;l=i});if(!Ed11y.options.inlineAlerts){Ed11y.jumpList.forEach(e=>{if(e.result.scrollableParent){if(!!e.bounds&&(e.targetOffset.top-e.bounds.top<0||e.targetOffset.top-e.bounds.bottom>0)&&!e.matches(':focus, :focus-within, [data-ed11y-open="true"]')){e.classList.add("ed11y-offscreen");e.style.transform="translate(0px, -50px)";e.style.pointerEvents="none";if(e.getAttribute("data-ed11y-open")==="true"){e.setAttribute("data-ed11y-action","shut")}}else{e.classList.remove("ed11y-offscreen");e.style.pointerEvents="auto"}}else{e.classList.remove("ed11y-offscreen");e.style.pointerEvents="auto"}})}Ed11y.jumpList?.forEach(e=>{e.classList.remove("ed11y-preload")});if(!Ed11y.bodyStyle){Ed11y.paintReady()}};Ed11y.paintReady=function(){for(const[e,t]of Object.entries(Ed11y.theme)){document.documentElement.style.setProperty("--ed11y-"+e,t)}if(document.querySelector("body")){Ed11y.attachCSS(document.querySelector("body"))}Ed11y.roots.forEach(e=>{if(Ed11y.options.shadowComponents){e.querySelectorAll(Ed11y.options.shadowComponents)?.forEach(e=>{if(e.shadowRoot){Ed11y.attachCSS(e.shadowRoot)}})}});Ed11y.bodyStyle=true};Ed11y.alignTip=function(e,t,s=0,i=false){if(!t){return}let n=t.shadowRoot.querySelector(".arrow");let o=n.nextElementSibling;let l=s-1;if(s>0){window.setTimeout(function(){requestAnimationFrame(()=>Ed11y.alignTip(e,t,l,i))},200/l,e,t,l,i)}if(i){window.setTimeout(()=>{t.style.setProperty("opacity","1")},75,t,o)}const a=e.getRootNode().host;const d=e.dataset.ed11yResult;const r=Ed11y.results[d];const c=window.scrollY;let y=Ed11y.options.inlineAlerts?window.scrollX:0;let p=e.getBoundingClientRect();let u=p.width;let h=p.left+y;let m=p.top+c;let g=c;let E=0;let f=S;let b=window.innerHeight+c;let w=b;if(!Ed11y.options.inlineAlerts&&r.scrollableParent){let e=r.scrollableParent.getBoundingClientRect();if(e.width>0){E=Math.max(0,e.left);f=Math.min(f,e.width-30);b=e.bottom+c;g=e.top+c;w=e.top+r.scrollableParent.scrollHeight}}else if(a.dataset.ed11yHiddenResult==="true"||!(Ed11y.visible(a)||p.top===0&&p.left===0)){const P=Ed11y.firstVisibleParent(a.result.element);if(P){p=P.getBoundingClientRect();h=p.left;m=p.top}else{o.style.setProperty("max-width","none")}u=S>800?38:33}document.documentElement.style.setProperty("--ed11y-buttonWidth",u+"px");o.style.setProperty("max-width",`${f>280?f:280}px`);const k=Math.min(S,E+f);t.style.setProperty("top",p.top+c+"px");t.style.setProperty("left",p.left+y+"px");const v=o.offsetWidth;const x=o.offsetHeight;let T="under";if(m+x+c+u+22>b){if(k>u+v+h+30&&g+x+30<b){T="right"}else if(m-x-15>g){T="above"}else if(E<h-(u+v+30)&&g+x+30<b){T="left"}else if(m+x+u>w){T="above"}}n.dataset.direction=T;let A=0;let C=0;const L=function(e,t,s){let i=e-(t+s+u);if(i<0){return Math.max(i,u+10-s)}};switch(T){case"under":A=L(k,h,v);n.style.setProperty("top",u+"px");n.style.setProperty("right","auto");n.style.setProperty("bottom","auto");n.style.setProperty("left",u/2-10+"px");o.style.setProperty("top",u+10+"px");o.style.setProperty("right","auto");o.style.setProperty("bottom","auto");o.style.setProperty("left","-4px");break;case"above":A=L(k,h,v);n.style.setProperty("top","auto");n.style.setProperty("right","auto");n.style.setProperty("bottom","2px");n.style.setProperty("left",u/2-10+"px");o.style.setProperty("top","auto");o.style.setProperty("right","auto");o.style.setProperty("bottom","12px");o.style.setProperty("left","-4px");break;case"right":C=L(b,m,x);n.style.setProperty("top",u/2-10+"px");n.style.setProperty("right","auto");n.style.setProperty("bottom","auto");n.style.setProperty("left",u+"px");o.style.setProperty("top","-4px");o.style.setProperty("right","auto");o.style.setProperty("bottom","auto");o.style.setProperty("left",u+10+"px");break;case"left":C=L(b,m,x);n.style.setProperty("top",u/2-10+"px");n.style.setProperty("right","0");n.style.setProperty("bottom","auto");n.style.setProperty("left","auto");o.style.setProperty("top","-4px");o.style.setProperty("right","10px");o.style.setProperty("bottom","auto");o.style.setProperty("left","auto");break}if(A||C){o.style.setProperty("transform",`translate(${A}px, ${C}px)`)}else{o.style.setProperty("transform","none")}Ed11y.alignHighlights()};Ed11y.togglePanel=function(){if(!Ed11y.doubleClickPrevent){if(Ed11y.running!==true){Ed11y.running=true;if(Ed11y.panel.classList.contains("ed11y-active")===false){Ed11y.onLoad=false;Ed11y.showPanel=true;if(Ed11y.dismissedCount>0&&Ed11y.warningCount===0&&Ed11y.errorCount===0){Ed11y.options.showDismissed=false;Ed11y.toggleShowDismissals()}else{Ed11y.checkAll()}Ed11y.options.userPrefersShut=false;localStorage.setItem("editoria11yShow","1")}else{Ed11y.panelToggleTitle.textContent=Ed11y.totalCount>0?Ed11y.M.buttonShowAlerts:Ed11y.M.buttonShowNoAlert;Ed11y.options.showDismissed=false;Ed11y.reset();Ed11y.options.userPrefersShut=true;localStorage.setItem("editoria11yShow","0")}}}Ed11y.doubleClickPrevent=true;window.setTimeout(function(){Ed11y.doubleClickPrevent=false},200);return false};const c=function(){let d=Ed11y.panel.querySelector("#ed11y-outline");if(Ed11y.headingOutline.length){d.innerHTML="";Ed11y.headingOutline.forEach((s,t)=>{if(Ed11y.options.inlineAlerts){let e=document.createElement("ed11y-element-heading-label");e.classList.add("ed11y-element","ed11y-element-heading");e.dataset.ed11yHeadingOutline=t.toString();e.setAttribute("id","ed11y-heading-"+t);e.setAttribute("tabindex","-1");s[0].insertAdjacentElement("afterbegin",e);Ed11y.attachCSS(e.shadowRoot)}let e=s[1];let i=10*e-10;let n=document.createElement("li");n.classList.add("level"+e);n.style.setProperty("margin-left",i+"px");let o=document.createElement("strong");o.textContent=`H${e}: `;let l=document.createElement("span");l.textContent=Ed11y.computeText(s[0]);let a=document.createElement("a");if(Ed11y.options.inlineAlerts){a.setAttribute("href","#ed11y-heading-"+t);n.append(a);a.append(o);a.append(l)}else{n.append(o);n.append(l)}if(s[2]){let e=!s[3]?"error":"warning";n.classList.add(e);let t=document.createElement("em");t.classList.add("ed11y-small");t.textContent=" "+s[2];if(Ed11y.options.inlineAlerts){a.append(t)}else{n.append(t)}}d.append(n)})}else{d.innerHTML="<p><em>No heading structure found.</em></p>"}};Ed11y.alignAlts=function(){Ed11y.findElements("altMark","ed11y-element-alt");Ed11y.elements.altMark?.forEach(e=>{let t=e.dataset.ed11yImg;e.style.setProperty("transform",null);e.style.setProperty("height",null);e.style.setProperty("width",null);let s=Ed11y.imageAlts[t][0];if(s.tagName!=="IMG"){s=s.querySelector("img")}let i=e.getBoundingClientRect();let n=s.getBoundingClientRect();let o=n.left-i.left;let l=getComputedStyle(s).height;l=l==="auto"?s.offsetHeight:Math.max(s.offsetHeight,parseInt(l));e.style.setProperty("transform",`translate(${o}px, 0px)`);e.style.setProperty("height",`${l}px`);e.style.setProperty("width",`${s.offsetWidth}px`)})};const y=function(){let o=Ed11y.panel.querySelector("#ed11y-alt-list");if(Ed11y.imageAlts.length){o.innerHTML="";Ed11y.imageAlts.forEach((t,s)=>{if(Ed11y.options.inlineAlerts){let e=document.createElement("ed11y-element-alt");e.classList.add("ed11y-element");e.dataset.ed11yImg=s.toString();t[0].insertAdjacentElement("beforebegin",e)}let e=document.createElement("span");e.textContent=t[2];let i=document.createElement("li");i.classList.add(t[3]);let n=document.createElement("img");n.setAttribute("src",t[1]);n.setAttribute("alt","");i.append(n);i.append(e);o.append(i)});Ed11y.alignAlts()}else{o.innerHTML="<p><em>No images found.</em></p>"}};Ed11y.visualizing=false;Ed11y.visualize=function(){if(!Ed11y.panel){return}if(Ed11y.visualizing){Ed11y.visualizing=false;Ed11y.panel.querySelector("#ed11y-visualize .ed11y-sr-only").textContent=Ed11y.M.buttonToolsContent;Ed11y.panel.querySelector("#ed11y-visualize").setAttribute("data-ed11y-pressed","false");Ed11y.panel.querySelector("#ed11y-visualizers").setAttribute("hidden","true");Ed11y.findElements("reset","ed11y-element-heading-label, ed11y-element-alt");Ed11y.elements.reset?.forEach(e=>{e.remove()});return}Ed11y.visualizing=true;Ed11y.panel.querySelector("#ed11y-visualize .ed11y-sr-only").textContent=Ed11y.M.buttonToolsActive;Ed11y.panel.querySelector("#ed11y-visualize").setAttribute("data-ed11y-pressed","true");Ed11y.panel.querySelector("#ed11y-visualizers").removeAttribute("hidden");y();c()};Ed11y.buildJumpList=function(){Ed11y.jumpList=[];Ed11y.results.forEach((e,t)=>{let s=e.element.getBoundingClientRect().top;if(!s){const i=Ed11y.firstVisibleParent(e.element);if(i){s=i.getBoundingClientRect().top}}s=s+window.scrollY;Ed11y.results[t].scrollableParent=a(e.element);if(Ed11y.results[t].scrollableParent){s=s*1e-6}Ed11y.results[t].sortPos=s});Ed11y.results.sort((e,t)=>t.sortPos-e.sortPos);Ed11y.results?.forEach(function(e,t){if(!Ed11y.results[t].dismissalStatus||Ed11y.options.showDismissed){Ed11y.result(e,t)}});Ed11y.jumpList.forEach((e,t)=>{e.dataset.ed11yJumpPosition=`${t}`;const s=`${e.shadowRoot.querySelector(".toggle").getAttribute("aria-label")}, ${t} / ${Ed11y.jumpList.length-1}`;e.shadowRoot.querySelector(".toggle").setAttribute("aria-label",s)})};let p=1;Ed11y.browserLag=0;const u=(t,s)=>{let i=null;return(...e)=>{window.clearTimeout(i);i=window.setTimeout(()=>{t.apply(null,e)},s+Ed11y.browserLag)}};const h=function(e,t,s=10){return e.left-s<=t.right&&t.left-s<=e.right&&e.top-s<=t.bottom&&t.top-s<=e.bottom};Ed11y.activeRange=false;const m=function(){let e=getSelection()?.anchorNode;const t=e&&e.parentNode&&typeof e.parentNode==="object"&&typeof e.parentNode.matches==="function";if(!e||t&&(e.parentNode.matches(Ed11y.options.checkRoots)||!e.parentNode.matches(Ed11y.options.checkRoots)&&e.parentNode.matches('div[contenteditable="true"]'))){Ed11y.activeRange=false;return false}if(t){const i=e.parentNode.closest("p, td, th, li, h2, h3, h4, h5, h6");if(i){e=i}}const s=document.createRange();if(typeof e==="object"){s.setStartBefore(e);s.setEndAfter(e)}if(typeof s!=="object"||typeof s.getBoundingClientRect!=="function"){if(Ed11y.activeRange){Ed11y.activeRange=false;return true}else{return false}}else{let e=Ed11y.activeRange&&s.startContainer===Ed11y.activeRange.startContainer&&s.startOffset===Ed11y.activeRange.startOffset;Ed11y.activeRange=s;return!e}};Ed11y.checkEditableIntersects=function(){if(!document.querySelector("[contenteditable]:focus, [contenteditable] :focus")){Ed11y.jumpList?.forEach(e=>{e.classList.remove("intersecting")});return}if(!Ed11y.activeRange){Ed11y.jumpList?.forEach(e=>{e.classList.remove("intersecting")});return}Ed11y.jumpList?.forEach(e=>{const t=e.shadowRoot.querySelector(".toggle");if(h(Ed11y.activeRange.getBoundingClientRect(),t.getBoundingClientRect(),0)){if(!t.classList.contains("was-intersecting")){e.classList.add("intersecting");t.classList.add("intersecting")}}else{e.classList.remove("intersecting","was-intersecting");t.classList.remove("intersecting","was-intersecting")}})};let g=false;Ed11y.scrollPending=0;Ed11y.updateTipLocations=()=>{if(!g&&Ed11y.scrollPending>0&&!Ed11y.running&&Ed11y.jumpList&&Ed11y.open){g=true;Ed11y.alignButtons();if(Ed11y.openTip.tip){Ed11y.alignTip(Ed11y.openTip.button.shadowRoot.querySelector("button"),Ed11y.openTip.tip)}Ed11y.scrollPending--}g=false;if(Ed11y.scrollPending>0){requestAnimationFrame(()=>Ed11y.updateTipLocations())}};Ed11y.intersectionObservers=function(){Ed11y.elements.editable?.forEach(e=>{e.addEventListener("scroll",function(){Ed11y.scrollPending=Ed11y.scrollPending<2?Ed11y.scrollPending+1:Ed11y.scrollPending;requestAnimationFrame(()=>Ed11y.updateTipLocations())})});Ed11y.selectionChanged=u(()=>{if(m()){Ed11y.updateTipLocations();Ed11y.checkEditableIntersects()}},100);document.addEventListener("selectionchange",function(){if(!Ed11y.running){Ed11y.selectionChanged()}})};Ed11y.recentlyAddedNodes=[];Ed11y.addedNodeReadyToCheck=function(e){if(Ed11y.recentlyAddedNodes.length===0){return true}const t=Ed11y.recentlyAddedNodes.indexOf(e);if(t>-1){if(e.textContent.trim().length===0||Ed11y.activeRange&&e.contains(Ed11y.activeRange.startContainer)){return false}else{Ed11y.recentlyAddedNodes.splice(t,1);return true}}else{return true}};Ed11y.incrementalAlign=u(()=>{if(!Ed11y.running){Ed11y.scrollPending++;Ed11y.updateTipLocations()}},10);let E=false;window.addEventListener("keyup",()=>{E=true});window.addEventListener("click",()=>{E=true});window.addEventListener("dragend",()=>{E=true;Ed11y.incrementalCheck()});Ed11y.incrementalCheck=u(()=>{if(!Ed11y.running){if(Ed11y.openTip.button||!E&&!Ed11y.forceFullCheck){return}E=false;Ed11y.running=true;let e=performance.now();Ed11y.incremental=true;if(Ed11y.disabled&&Ed11y.closedByDisable){Ed11y.showPanel=true;Ed11y.closedByDisable=false;Ed11y.disabled=false}Ed11y.checkAll();window.setTimeout(function(){if(Ed11y.visualizing){Ed11y.visualizing=false;Ed11y.visualize()}},500);e=performance.now()-e;p=e>10?10:(p+e)/2;Ed11y.browserLag=p<1?0:p*100+Ed11y.totalCount}else{window.setTimeout(Ed11y.incrementalCheck,250)}},250);const f=function(e){if(typeof e.closest!=="function"){if(e.host.matches(".editoria11y-observer")){return}else{e.host.classList.add("editoria11y-observer")}}else{if(e.closest(".editoria11y-observer")){return}else{e.classList.add("editoria11y-observer")}}const t={childList:true,subtree:true,characterData:true};const s=function(e){if(e.nodeType!==1){return}if(!e.matches("table, h1, h2, h3, h4, h5, h6, blockquote")){e=e.querySelector("table, h1, h2, h3, h4, h5, h6, blockquote")}if(e){Ed11y.recentlyAddedNodes.push(e);window.setTimeout(function(e){let t=Ed11y.recentlyAddedNodes.indexOf(e);if(t>-1){Ed11y.recentlyAddedNodes.splice(t,1);Ed11y.incrementalCheck()}},5e3,e)}};const i=e=>{for(const t of e){if(t.type==="childList"){o=true;if(t.addedNodes.length>0){t.addedNodes.forEach(e=>{s(e)})}}}Ed11y.incrementalAlign();Ed11y.alignPending=false;Ed11y.incrementalCheck()};const n=new MutationObserver(i);n.observe(e,t);document.addEventListener("readystatechange",()=>{window.setTimeout(function(){Ed11y.scrollPending++;Ed11y.updateTipLocations()},100)});window.setTimeout(function(){Ed11y.scrollPending++;Ed11y.updateTipLocations()},1e3)};Ed11y.openTip={button:false,tip:false};Ed11y.lastOpenTip=-1;Ed11y.viaJump=false;Ed11y.alertOnInvisibleTip=function(e,t){let s=100;if(Ed11y.options.hiddenHandlers.length>0&&!!t.closest(Ed11y.options.hiddenHandlers)){s=333;document.dispatchEvent(new CustomEvent("ed11yShowHidden",{detail:{result:e.getAttribute("data-ed11y-result")}}))}const i=t.closest("details");if(i&&!i.open){i.open=true;s=333}window.setTimeout((s,i)=>{Ed11y.message.textContent="";let e=false;let t;if(Ed11y.options.checkVisible&&!Ed11y.visible(i)){s.dataset.ed11yHiddenResult="true";e=Ed11y.firstVisibleParent(i);t=Ed11y.M.jumpedToInvisibleTip}else if(i.closest('[aria-hidden="true"]')){e=i.closest('[aria-hidden="true"]');e=e.closest(':not([aria-hidden="true"])');t=Ed11y.M.jumpedToAriaHiddenTip}if(e){const o=Ed11y.openTip.tip?.shadowRoot.querySelector(".ed11y-tip-alert");o.textContent=t}if(Ed11y.viaJump){let e=window.innerHeight>900||window.innerWidth>800&&window.innerHeight>600?"center":"start";let t=Ed11y.options.inlineAlerts?s:i;if(s.dataset.ed11yHiddenResult||!Ed11y.visible(t)){t=Ed11y.firstVisibleParent(i)}t.scrollIntoView({block:e,behavior:"instant"})}if(!Ed11y.options.inlineAlerts){Ed11y.editableHighlighter(s.dataset.ed11yResult,true,e)}else{if(e){e.classList.add("ed11y-hidden-highlight")}}let n=document.querySelector('ed11y-element-tip[data-ed11y-open="true"]');if(!n){s.setAttribute("data-ed11y-action","open");if(Ed11y.viaJump){window.setTimeout(()=>{let e=document.querySelector('ed11y-element-tip[data-ed11y-open="true"]');if(Ed11y.viaJump){e?.shadowRoot.querySelector(".title").focus()}},100)}}else{if(Ed11y.viaJump){window.setTimeout(()=>{n?.shadowRoot.querySelector(".title").focus()},100,n)}}Ed11y.viaJump=false},s,e,t)};Ed11y.jumpTo=function(e=1){if(!Ed11y.open){return false}Ed11y.viaJump=true;let t=Ed11y.jumpList.length-1;let s=Ed11y.lastOpenTip+e;if(s<0){Ed11y.nextText=Ed11y.M.buttonFirstContent;s=t}else if(s>t){s=0;Ed11y.nextText=Ed11y.M.buttonNextContent}else{Ed11y.nextText=Ed11y.M.buttonNextContent}Ed11y.lastOpenTip=s;window.setTimeout(function(){Ed11y.panelJumpNext.querySelector(".ed11y-sr-only").textContent=Ed11y.nextText},250);Ed11y.resetClass(["ed11y-hidden-highlight"]);if(!Ed11y.jumpList){Ed11y.buildJumpList()}let i=Ed11y.jumpList[s];let n=i.getAttribute("data-ed11y-result");let o=Ed11y.results[n];const l=o.element;let a=window.innerHeight>900||window.innerWidth>800&&window.innerHeight>600?"center":"start";let d=Ed11y.options.inlineAlerts?i:l;if(i.dataset.ed11yHiddenResult||!Ed11y.visible(d)){d=Ed11y.firstVisibleParent(l);console.log("hidden")}d?.scrollIntoView({block:a,behavior:"instant"});i.setAttribute("data-ed11y-action","open");Ed11y.scrollPending=2;Ed11y.updateTipLocations()};Ed11y.windowResize=function(){S=window.innerWidth;if(Ed11y.panel?.classList.contains("ed11y-active")===true){Ed11y.alignAlts();Ed11y.alignButtons()}if(Ed11y.openTip.button){Ed11y.alignTip(Ed11y.openTip.button.shadowRoot.querySelector("button"),Ed11y.openTip.tip)}Ed11y.alignPanel()};Ed11y.escapeWatch=function(e){if(e.keyCode===27){if(e.target.closest("ed11y-element-panel")&&Ed11y.panelToggle.getAttribute("aria-expanded")==="true"){Ed11y.panelToggle.focus();Ed11y.panelToggle.click()}else if(e.target.hasAttribute("data-ed11y-open")){if(Ed11y.openTip.button){Ed11y.toggledFrom.focus();Ed11y.openTip.button.shadowRoot.querySelector("button").click()}}}};document.addEventListener("keyup",function(e){Ed11y.escapeWatch(e)});Ed11y.getText=function(e){return e.textContent.replace(/[\n\r]+|\s{2,}/g," ").trim()};Ed11y.parents=function(e){let t=[];t.push(e);while(e&&!!e.parentElement&&e.parentElement.tagName!=="HTML"){t.push(e.parentElement);e=e.parentElement}return t};Ed11y.computeAriaLabel=function(e,t=0){const s=e.getAttribute("aria-labelledby");if(!t&&s){const i=s.split(/\s+/);if(i.length>0){let s="";i.forEach(e=>{const t=document.querySelector(`#${CSS.escape(e)}`);s+=!t?"":Ed11y.computeText(t,1)});return s}}if(e.getAttribute("aria-label")&&e.getAttribute("aria-label").trim().length>0){return e.getAttribute("aria-label")}return"noAria"};Ed11y.wrapPseudoContent=function(e,t){let s=[];s[0]=window.getComputedStyle(e,":before").getPropertyValue("content");s[1]=window.getComputedStyle(e,":after").getPropertyValue("content");s[0]=s[0]==="none"?"":s[0].replace(/^"(.*)"$/,"$1");s[1]=s[1]==="none"?"":s[1].replace(/^"(.*)"$/,"$1");return" "+s[0]+t+s[1]};Ed11y.nextTreeBranch=function(t){for(let e=0;e<1e3;e++){if(t.nextSibling()){return t.previousNode()}if(!t.parentNode()){return false}}return false};Ed11y.computeText=function(e,t=0,s=false){let i=Ed11y.computeAriaLabel(e,t);if(i!=="noAria"){return i}let n="";if(!e.children.length){n=Ed11y.wrapPseudoContent(e,e.textContent);if(!n.trim()&&e.hasAttribute("title")){return e.getAttribute("title")}return t?n:n.replace(/[\n\r]+|[\s]{2,}/g," ").trim()}let o=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT);let l=false;let a=false;let d=0;e:while(o.nextNode()){d++;if(o.currentNode.nodeType===Node.TEXT_NODE){n+=" "+o.currentNode.nodeValue;continue}if(s&&o.currentNode.matches(Ed11y.options.linkIgnoreSelector)){if(!Ed11y.nextTreeBranch(o)){break e}continue}if(l&&!o.currentNode.closest("a")){if(a===n){n+=l}l=false;a=false}if(o.currentNode.hasAttribute("aria-hidden")&&!(t&&d<3)){if(!Ed11y.nextTreeBranch(o)){break e}continue}let e=Ed11y.computeAriaLabel(o.currentNode,t);if(e!=="noAria"){n+=" "+e;if(!Ed11y.nextTreeBranch(o)){break e}continue}switch(o.currentNode.tagName){case"STYLE":case"NOSCRIPT":if(!Ed11y.nextTreeBranch(o)){break e}continue;case"IMG":if(o.currentNode.hasAttribute("alt")){n+=o.currentNode.getAttribute("alt")}continue;case"SVG":case"svg":if(o.currentNode.getAttribute("role")==="image"&&o.currentNode.hasAttribute("alt")){n+=Ed11y.wrapPseudoContent(o.currentNode,o.currentNode.getAttribute("alt"));if(!Ed11y.nextTreeBranch(o)){break e}}continue;case"A":if(o.currentNode.hasAttribute("title")){l=o.currentNode.getAttribute("title");a=n}else{l=false;a=false}n+=Ed11y.wrapPseudoContent(o.currentNode,"");break;default:n+=Ed11y.wrapPseudoContent(o.currentNode,"");break}}if(l&&!a){n+=" "+l}if(!n.trim()&&e.hasAttribute("title")){return e.getAttribute("title")}return t?n:n.replace(/[\n\r]+|[\s]{2,}/g," ").trim()};Ed11y.resetClass=function(e){e?.forEach(e=>{let t=e;Ed11y.findElements("reset",`.${t}`);Ed11y.elements.reset?.forEach(e=>{e.classList.remove(t)})})};Ed11y.keyboardClick=function(e){e.preventDefault();let t=e.keyCode;switch(t){case 13:case 32:e.target.click();break}};Ed11y.siblings=function(t){if(t.parentNode===null)return[];return Array.prototype.filter.call(t.parentNode.children,function(e){return e!==t})};Ed11y.nextUntil=function(e,t){let s=e.nextElementSibling;if(s){let e=s.matches(t);if(e){return s}else{s=Ed11y.nextUntil(s,t)}}return s};Ed11y.visibleElement=function(t){if(t){let e=window.getComputedStyle(t);if(t.classList.contains("ed11y-ring-red")||t.classList.contains("ed11y-ring-yellow")){return!(e.getPropertyValue("display")==="none"||e.getPropertyValue("visibility")==="hidden"||e.getPropertyValue("opacity")==="0"||t.hasAttribute("hidden"))}else return!(e.getPropertyValue("display")==="none"||e.getPropertyValue("visibility")==="hidden"||e.getPropertyValue("opacity")==="0"||t.hasAttribute("hidden")||e.getPropertyValue("overflow")==="hidden"&&(t.offsetWidth===0||t.offsetHeight===0))}};Ed11y.visible=function(s){if(!Ed11y.visibleElement(s)){return false}else{let e=Ed11y.parents(s);let t=e=>Ed11y.visibleElement(e);return e.every(t)}};Ed11y.firstVisibleParent=function(e){let t=e.parentElement;if(t){if(!Ed11y.visibleElement(t)){t=Ed11y.firstVisibleParent(t);return t}else{return t}}else{return false}};Ed11y.hiddenElementCheck=function(e){let t=window.getComputedStyle(e);return!(t.getPropertyValue("display")==="none"||t.getPropertyValue("visibility")==="hidden"||e.hasAttribute("aria-hidden")||e.hasAttribute("hidden"))};Ed11y.elementNotHidden=function(s){if(!Ed11y.hiddenElementCheck(s)){return false}else{let e=Ed11y.parents(s);let t=e=>Ed11y.hiddenElementCheck(e);return e.every(t)}};Ed11y.parentLink=function(e){return e.closest("a[href]")};Ed11y.srcMatchesOptions=function(i,n){if(n.length>0&&i?.length>0){let e=n.split(/\s*[\s,]\s*/).map(e=>{return"[src*='"+e+"']"});let t=e.join(", ");let s=Array.from(i);return s.filter(e=>e.matches(t))}else{return[]}};Ed11y.sanitizeForHTML=function(e){let t={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"};return String(e).replace(/[&<>"'`=/]/g,function(e){return t[e]})};if(CSS.supports("selector(:is(body))")){Ed11y.initialize()}else{console.warn(Ed11y.M.consoleNotSupported)}}}class Ed11yElementAlt extends HTMLElement{constructor(){super()}connectedCallback(){if(!this.initialized){const i=this.attachShadow({mode:"open"});let e=document.createElement("div");e.classList.add("ed11y-wrapper","ed11y-alt-wrapper");let t=Ed11y.imageAlts[this.dataset.ed11yImg];let s=document.createElement("span");s.textContent=t[2];s.classList.add(t[3]);e.appendChild(s);Ed11y.attachCSS(e);i.appendChild(e);this.initialized=true}}}customElements.define("ed11y-element-alt",Ed11yElementAlt);class Ed11yElementPanel extends HTMLElement{constructor(){super()}template(){return`
    <div class='ed11y-buttonbar'>
      <!-- todo: can't switch both label and aria-expanded -->
      <button id='ed11y-show-hidden' data-ed11y-pressed='false' hidden><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="Currentcolor" d="M152.1 38.2c9.9 8.9 10.7 24 1.8 33.9l-72 80c-4.4 4.9-10.6 7.8-17.2 7.9s-12.9-2.4-17.6-7L7 113C-2.3 103.6-2.3 88.4 7 79s24.6-9.4 33.9 0l22.1 22.1 55.1-61.2c8.9-9.9 24-10.7 33.9-1.8zm0 160c9.9 8.9 10.7 24 1.8 33.9l-72 80c-4.4 4.9-10.6 7.8-17.2 7.9s-12.9-2.4-17.6-7L7 273c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l22.1 22.1 55.1-61.2c8.9-9.9 24-10.7 33.9-1.8zM224 96c0-17.7 14.3-32 32-32l224 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-224 0c-17.7 0-32-14.3-32-32zm0 160c0-17.7 14.3-32 32-32l224 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-224 0c-17.7 0-32-14.3-32-32zM160 416c0-17.7 14.3-32 32-32l288 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-288 0c-17.7 0-32-14.3-32-32zM48 368a48 48 0 1 1 0 96 48 48 0 1 1 0-96z"/></svg><span class="ed11y-sr-only"></span></button>
      <button id='ed11y-visualize' data-ed11y-pressed="false" class='ed11y-panel-fa'>
        <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--!Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="Currentcolor" d="M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM144 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-64c0 35.3-28.7 64-64 64c-7.1 0-13.9-1.2-20.3-3.3c-5.5-1.8-11.9 1.6-11.7 7.4c.3 6.9 1.3 13.8 3.2 20.7c13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3z"/></svg>
        <span class="ed11y-sr-only"></span>
      </button>
      <div id='ed11y-visualizers' class="content" hidden>
          <details id="ed11y-headings-tab">
              <summary>
                  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" aria-hidden="true"><!--!Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="currentColor" d="M0 96C0 78.3 14.3 64 32 64l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 128C14.3 128 0 113.7 0 96zM64 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L96 288c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32L32 448c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z"></path></svg> <span class="summary-title"></span>
              </summary>
              <div class="details">
                  <span class="details-title"></span>
                  <ul id='ed11y-outline'></ul>
              </div>
          </details>
          <details id="ed11y-alts-tab">
            <summary>
                <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" viewBox="0 0 576 512"><!--!Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="currentColor" d="M160 80l352 0c8.8 0 16 7.2 16 16l0 224c0 8.8-7.2 16-16 16l-21.2 0L388.1 178.9c-4.4-6.8-12-10.9-20.1-10.9s-15.7 4.1-20.1 10.9l-52.2 79.8-12.4-16.9c-4.5-6.2-11.7-9.8-19.4-9.8s-14.8 3.6-19.4 9.8L175.6 336 160 336c-8.8 0-16-7.2-16-16l0-224c0-8.8 7.2-16 16-16zM96 96l0 224c0 35.3 28.7 64 64 64l352 0c35.3 0 64-28.7 64-64l0-224c0-35.3-28.7-64-64-64L160 32c-35.3 0-64 28.7-64 64zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120L0 344c0 75.1 60.9 136 136 136l320 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-320 0c-48.6 0-88-39.4-88-88l0-224zm208 24a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"></path></svg> <span class="summary-title"></span>
            </summary>
            <div class="details">
                <span class="details-title"></span>
                <ul id='ed11y-alt-list'></ul>
            </div>
        </details>
        </div>
      <button type='button' id='ed11y-toggle'><span class="ed11y-sr-only">Show alerts</span><span class="ed11y-toggle-circle"><span class='icon'></span><span class='toggle-count'></span></span></button>
      <button class='ed11y-jump next' data-ed11y-goto='0' aria-haspopup="dialog"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" viewBox="0 0 448 512"><!--!Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="currentColor" d="M64 32C64 14.3 49.7 0 32 0S0 14.3 0 32L0 64 0 368 0 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-128 64.3-16.1c41.1-10.3 84.6-5.5 122.5 13.4c44.2 22.1 95.5 24.8 141.7 7.4l34.7-13c12.5-4.7 20.8-16.6 20.8-30l0-247.7c0-23-24.2-38-44.8-27.7l-9.6 4.8c-46.3 23.2-100.8 23.2-147.1 0c-35.1-17.6-75.4-22-113.5-12.5L64 48l0-16z"></path></svg><span class='jump-next ed11y-sr-only'></span></button>
     </div>
    </div>
    <div id="ed11y-message" aria-live="polite"></div>
    `}connectedCallback(){if(!this.initialized&&typeof Ed11y!=="undefined"){this.style.setProperty("outline","0");this.classList.add("ed11y-element");const e=this.attachShadow({mode:"open"});const t=document.createElement("aside");t.setAttribute("id","ed11y-panel");t.classList.add("ed11y-wrapper","ed11y-panel-wrapper","ed11y-pass");t.innerHTML=this.template();e.appendChild(t);Ed11y.panel=t;Ed11y.panelElement=this;Ed11y.panelToggle=t.querySelector("#ed11y-toggle");Ed11y.panelToggleTitle=t.querySelector("#ed11y-toggle .ed11y-sr-only");Ed11y.panelCount=t.querySelector(".toggle-count");Ed11y.panelJumpNext=t.querySelector(".ed11y-jump.next");Ed11y.panelJumpNext.addEventListener("click",this.jumpTo);Ed11y.showDismissed=t.querySelector("#ed11y-show-hidden");Ed11y.message=t.querySelector("#ed11y-message");const s=t.querySelectorAll(".ed11y-buttonbar button");s.forEach(e=>{e.addEventListener("click",this.handleBarClick)});this.initialized=true}}jumpTo(e){e.preventDefault();Ed11y.toggledFrom=e.target.closest("button");if(!Ed11y.open){Ed11y.togglePanel();window.setTimeout(function(){Ed11y.jumpTo(1)},500)}else{Ed11y.jumpTo(1)}}handleBarClick(e){e.preventDefault();Ed11y.message.textContent="";let t=e.currentTarget.getAttribute("id");switch(t){case"ed11y-toggle":Ed11y.togglePanel();break;case"ed11y-show-hidden":Ed11y.toggleShowDismissals();break;case"ed11y-visualize":if(!Ed11y.open){Ed11y.togglePanel()}Ed11y.visualize();break;default:break}}}customElements.define("ed11y-element-panel",Ed11yElementPanel);class Ed11yElementHeadingLabel extends HTMLElement{constructor(){super()}connectedCallback(){if(!this.initialized){const o=this.attachShadow({mode:"open"});let e=document.createElement("div");e.classList.add("ed11y-wrapper","ed11y-heading-wrapper");let t=this.dataset.ed11yHeadingOutline;let s=Ed11y.headingOutline[t];e.innerHTML="H"+s[1];let i=!!s[2];e.classList.add("issue"+i);let n=Math.max(52-8*s[1],12);e.style.setProperty("font-size",n+"px");o.appendChild(e);this.initialized=true}}}customElements.define("ed11y-element-heading-label",Ed11yElementHeadingLabel);class Ed11yElementResult extends HTMLElement{constructor(){super()}connectedCallback(){if(!this.initialized){this.open=false;this.racing=false;this.style.setProperty("outline","0px solid transparent");const t=this.attachShadow({mode:"open"});this.resultID=this.dataset.ed11yResult;this.result=Ed11y.results[this.resultID];this.wrapper=document.createElement("div");this.dismissable=!!this.result.dismissalKey;this.dismissed=!!this.result.dismissalStatus;this.wrapper.classList.add("ed11y-wrapper","ed11y-result-wrapper");this.wrapper.classList.add("ed11y-result");this.toggle=document.createElement("button");this.toggle.setAttribute("class","toggle");let e=this.dismissable?Ed11y.M.toggleManualCheck:Ed11y.M.toggleAlert;this.toggle.setAttribute("aria-label",Ed11y.M.toggleAriaLabel(e));this.toggle.setAttribute("aria-expanded","false");this.toggle.setAttribute("aria-haspopup","dialog");this.toggle.setAttribute("data-ed11y-result",this.dataset.ed11yResult);this.toggle.setAttribute("data-ed11y-ready","false");this.toggle.setAttribute("data-ed11y-race","false");if(!Ed11y.options.inlineAlerts){this.toggle.style.setProperty("font-size","16px")}if(this.dismissed){this.toggle.classList.add("dismissed");if(this.result.dismissalStatus!=="ok"){this.toggle.classList.add("notok")}else{this.toggle.classList.add("ok")}}else if(this.dismissable){this.toggle.classList.add("dismissable")}this.wrapper.appendChild(this.toggle);this.toggle.addEventListener("click",this.toggleClick);this.toggle.addEventListener("focus",this.handleFocus);this.toggle.addEventListener("mouseover",this.handleHover);this.tipNeedsBuild=true;Ed11y.attachCSS(this.wrapper);t.appendChild(this.wrapper);this.initialized=true}}handleHover(e){e.preventDefault();let t=this.getRootNode().host;if(!this.classList.contains("intersecting")&&t.getAttribute("data-ed11y-open")==="false"&&t.racing===false){t.racing=true;t.toggleTip(true);Ed11y.toggledFrom=this;window.setTimeout(function(){t.racing=false},250,t)}}handleFocus(){let e=this.getRootNode().host;if(this.getRootNode().host.classList.contains("ed11y-offscreen")){e.result.element.scrollIntoView();Ed11y.alignButtons()}}toggleClick(e){e.preventDefault();let t=this.getRootNode().host;if(t.racing===false){t.racing=true;Ed11y.toggledFrom=this;let e=t.getAttribute("data-ed11y-open")==="false"?"open":"close";t.setAttribute("data-ed11y-action",e);if(e==="open"){window.setTimeout(function(){console.warn("it was me");let e=document.querySelector('ed11y-element-tip[data-ed11y-open="true"]');e?.shadowRoot.querySelector(".title").focus()},500)}window.setTimeout(function(){t.racing=false},250,t)}}closeOtherTips(){if(Ed11y.openTip.button){Ed11y.openTip.button.setAttribute("data-ed11y-action","close")}}buildTip(){this.tipNeedsBuild=false;let e=document.createElement("ed11y-element-tip");e.classList.add("ed11y-element");e.style.setProperty("opacity","0");e.setAttribute("data-ed11y-result",this.resultID);let t=document.querySelector("body");t.insertAdjacentElement("beforeend",e);this.tip=e}toggleTip(e){if(this.tipNeedsBuild){this.buildTip()}this.toggle.setAttribute("aria-expanded",e);let t=this.dismissable?"ed11y-ring-yellow":"ed11y-ring-red";if(Ed11y.options.inlineAlerts){this.result.element.classList.toggle(t)}else{Ed11y.editableHighlighter(this.resultID,e)}if(e===true){this.tip.style.setProperty("opacity","0");document.dispatchEvent(new CustomEvent("ed11yPop",{detail:{id:"ed11y-result-"+this.toggle.getAttribute("data-ed11y-result")}}));this.closeOtherTips();this.tip.setAttribute("data-ed11y-action","open");requestAnimationFrame(()=>Ed11y.alignTip(this.toggle,this.tip,4,true));if(!Ed11y.jumpList){Ed11y.buildJumpList()}Ed11y.lastOpenTip=Number(this.getAttribute("data-ed11y-jump-position"));Ed11y.openTip={button:this,tip:this.tip};this.result.highlight?.style.setProperty("opacity","1")}else{document.dispatchEvent(new CustomEvent("ed11yShut",{detail:{id:"ed11y-result-"+this.toggle.getAttribute("data-ed11y-result")}}));this.tip.setAttribute("data-ed11y-action","shut");this.result.highlight?.style.setProperty("opacity","0");Ed11y.openTip={button:false,tip:false}}this.setAttribute("data-ed11y-open",e);this.open=e}static get observedAttributes(){return["data-ed11y-action"]}attributeChangedCallback(e,t,s){if(this.initialized){switch(e){case"data-ed11y-action":if(s!=="false"){let e=s==="open"?true:false;this.setAttribute("data-ed11y-action","false");this.toggleTip(e)}break}}}}customElements.define("ed11y-element-result",Ed11yElementResult);class Ed11yElementTip extends HTMLElement{constructor(){super()}connectedCallback(){if(!this.initialized){this.open=true;this.style.setProperty("opacity","0");this.style.setProperty("outline","0px solid transparent");const d=this.attachShadow({mode:"open"});this.resultID=this.dataset.ed11yResult;this.result=Ed11y.results[this.resultID];this.wrapper=document.createElement("div");this.wrapper.setAttribute("role","dialog");this.dismissable=!!this.result.dismissalKey;this.dismissed=!!this.result.dismissalStatus;this.wrapper.classList.add("ed11y-tip-wrapper","ed11y-wrapper");this.addEventListener("mouseover",this.handleHover);Ed11y.attachCSS(this.wrapper);this.tip=document.createElement("div");this.tip.classList.add("tip");this.tip.setAttribute("aria-labelledby","tip-title-"+[this.resultID]);let e=document.createElement("div");e.classList.add("content");this.heading=document.createElement("div");this.heading.setAttribute("id","tip-"+this.resultID);this.heading.classList.add("title");this.heading.setAttribute("tabindex","-1");this.heading.innerHTML=Ed11y.M[this.result.test].title;e.append(this.heading);const r=document.createElement("div");r.classList.add("ed11y-tip-alert");this.heading.insertAdjacentElement("afterbegin",r);let t=document.createElement("div");t.innerHTML=this.result.content;e.append(t);if(this.dismissable){const c=document.createElement("div");c.classList.add("ed11y-tip-dismissals");if(Ed11y.options.showDismissed&&this.dismissed){let t=Ed11y.dismissedAlerts[Ed11y.options.currentPage][this.result.test][this.result.dismissalKey]==="ok";if(t&&Ed11y.options.allowOK||!t){let e=document.createElement("button");e.classList.add("dismiss");e.textContent=t?Ed11y.M.undismissOKButton:Ed11y.M.undismissHideButton;c.append(e);e.addEventListener("click",function(){Ed11y.dismissThis("reset")})}else{let e=document.createElement("div");e.classList.add("dismissed-note");e.textContent=Ed11y.M.undismissNotePermissions;c.append(e)}}else{if(Ed11y.options.allowOK){let e=document.createElement("button");e.classList.add("dismiss");if(Ed11y.options.syncedDismissals){e.setAttribute("title",Ed11y.M.dismissOkTitle)}e.textContent=Ed11y.M.dismissOkButtonContent;c.append(e);e.addEventListener("click",function(){Ed11y.dismissThis("ok")})}if(Ed11y.options.allowHide){let e=document.createElement("button");e.classList.add("dismiss");if(Ed11y.options.syncedDismissals){e.setAttribute("title",Ed11y.M.dismissHideTitle)}e.textContent=Ed11y.M.dismissHideButtonContent;c.append(e);e.addEventListener("click",function(){Ed11y.dismissThis("hide")})}}e.append(c)}this.tip.append(e);this.navBar=document.createElement("div");this.navBar.classList.add("ed11y-tip-header");this.count=document.createElement("div");this.count.classList.add("ed11y-tip-count");this.count.textContent=`${Ed11y.M.issue} ${Number.parseInt(this.result.toggle.dataset.ed11yJumpPosition)+1} / ${Ed11y.jumpList.length}`;this.navBar.append(this.count);if(Ed11y.jumpList.length>1){this.prev=document.createElement("button");this.prev.classList.add("ed11y-tip-prev");this.prev.setAttribute("aria-label",Ed11y.M.buttonPrevContent);this.prev.setAttribute("title",Ed11y.M.buttonPrevContent);this.prev.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512">\x3c!--!Font Awesome Free 6.7.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--\x3e<path fill="currentColor" d="M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z"/></svg>';this.prev.addEventListener("click",e=>{e.preventDefault();Ed11y.jumpTo(-1)});this.navBar.append(this.prev);this.next=document.createElement("button");this.next.classList.add("ed11y-tip-next");this.next.setAttribute("aria-label",Ed11y.M.buttonNextContent);this.next.setAttribute("title",Ed11y.M.buttonNextContent);this.next.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512">\x3c!--!Font Awesome Free 6.7.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--\x3e<path fill="currentColor" d="M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z"></path></svg>';this.next.addEventListener("click",e=>{e.preventDefault();Ed11y.jumpTo(1)});this.navBar.append(this.next)}this.help=document.createElement("details");this.help.classList.add("button");this.helpContent=document.createElement("div");this.helpContent.classList.add("ed11y-tip-help-content");this.helpContent.innerHTML=Ed11y.M.panelHelp;this.help.append(this.helpContent);this.helpToggle=document.createElement("summary");this.helpToggle.textContent="?";this.helpToggle.setAttribute("aria-label",Ed11y.M.panelHelpTitle);this.helpToggle.setAttribute("title",Ed11y.M.panelHelpTitle);this.help.insertAdjacentElement("afterbegin",this.helpToggle);this.navBar.append(this.help);if(!Ed11y.options.inlineAlerts){const y=document.createElement("button");y.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" viewBox="0 0 256 512">\x3c!--!Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--\x3e<path fill="currentColor" d="M.1 29.3C-1.4 47 11.7 62.4 29.3 63.9l8 .7C70.5 67.3 96 95 96 128.3L96 224l-32 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0 0 95.7c0 33.3-25.5 61-58.7 63.8l-8 .7C11.7 449.6-1.4 465 .1 482.7s16.9 30.7 34.5 29.2l8-.7c34.1-2.8 64.2-18.9 85.4-42.9c21.2 24 51.2 40 85.4 42.9l8 .7c17.6 1.5 33.1-11.6 34.5-29.2s-11.6-33.1-29.2-34.5l-8-.7C185.5 444.7 160 417 160 383.7l0-95.7 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-32 0 0-95.7c0-33.3 25.5-61 58.7-63.8l8-.7c17.6-1.5 30.7-16.9 29.2-34.5S239-1.4 221.3 .1l-8 .7C179.2 3.6 149.2 19.7 128 43.7c-21.2-24-51.2-40-85.4-42.9l-8-.7C17-1.4 1.6 11.7 .1 29.3z"/></svg>';y.setAttribute("aria-label",Ed11y.M.transferFocus);y.setAttribute("title",Ed11y.M.transferFocus);y.classList.add("ed11y-transfer-focus");this.navBar.append(y);y.addEventListener("click",function(){Ed11y.transferFocus()})}let s=document.createElement("button");s.setAttribute("arial-label",Ed11y.M.closeTip);s.setAttribute("title",Ed11y.M.closeTip);s.classList.add("close");s.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" viewBox="0 0 384 512">\x3c!--!Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--\x3e<path fill="currentColor" d="M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"/></svg>';this.navBar.append(s);this.tip.append(this.navBar);let i=document.createElement("div");i.classList.add("arrow");s.addEventListener("click",e=>{e.preventDefault();if(this.open){let e=document.querySelector('ed11y-element-result[data-ed11y-open="true"]');if(Ed11y.toggledFrom){Ed11y.toggledFrom.focus()}e?.setAttribute("data-ed11y-action","shut");this.setAttribute("data-ed11y-action","shut")}});document.addEventListener("click",e=>{if(this.open&&!e.target.closest("ed11y-element-tip, ed11y-element-result, ed11y-element-panel")){let e=document.querySelector('ed11y-element-result[data-ed11y-open="true"]');e?.setAttribute("data-ed11y-action","shut");this.setAttribute("data-ed11y-action","shut")}});d.appendChild(this.wrapper);let n=document.createElement("div");n.setAttribute("tabIndex","0");let o=document.createElement("div");o.setAttribute("tabindex","0");this.wrapper.appendChild(n);this.wrapper.appendChild(i);this.wrapper.appendChild(this.tip);this.wrapper.appendChild(o);let l=this.wrapper.querySelectorAll('a, button, [tabindex="0"]');let a=l.length;l[0].addEventListener("focus",()=>{l[a-2].focus()});l[a-1].addEventListener("focus",()=>{l[1].focus()});this.initialized=true}}toggleTip(e){if(e){this.wrapper.classList.add("open");Ed11y.alertOnInvisibleTip(this.result.toggle,this.result.element)}else{this.wrapper.classList.remove("open")}this.setAttribute("data-ed11y-open",e)}static get observedAttributes(){return["data-ed11y-action"]}attributeChangedCallback(e,t,s){if(this.initialized){switch(e){case"data-ed11y-action":if(s!=="false"){let e=s==="open"?true:false;this.open=e;this.setAttribute("data-ed11y-action","false");this.toggleTip(e)}break}}}}customElements.define("ed11y-element-tip",Ed11yElementTip);