1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/statementGeneratorTourSteps-B9fGUGnN.js","assets/vendor-CXh69xiq.js"])))=>i.map(i=>d[i]); 2import{r as h,j as e,A as Se,S as Ne,V as J,a0 as E,a1 as Ce,a2 as $e,a3 as ke,a4 as Ae,G as je,h as Ee}from"./vendor-CXh69xiq.js";import Te from"./purify.es-GvE32VqP.js";import{i as ne,$ as Ie,u as Re,aJ as Le,aK as Ue,aV as Fe,aW as Pe,aX as Be,aY as De,aM as Oe,aN as Me}from"./index-BVVRvbjs.js";import{c as We,d as ze}from"./index-CQf3wr__.js";import{t as x,A as Ge}from"./app-vendor-nlFuy7bi.js";(function(){try{var s=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};s.SENTRY_RELEASE={id:"app-build-1790920293420"};var r=new s.Error().stack;r&&(s._sentryDebugIds=s._sentryDebugIds||{},s._sentryDebugIds[r]="72c535b2-a6a3-409e-9269-835c892c05f1",s._sentryDebugIdIdentifier="sentry-dbid-72c535b2-a6a3-409e-9269-835c892c05f1")}catch{}})();async function _e(s,r){const l=ne(),u={"Content-Type":"application/json",...l?{Authorization:`Bearer ${l}`}:{}};try{const a=await fetch("https://api.webability.io/get-site-widget-settings",{method:"POST",headers:u,body:JSON.stringify({site_url:s})});if(!a.ok)throw new Error("Could not read the current settings");const p=await a.json(),b=typeof(p==null?void 0:p.settings)=="string"?JSON.parse(p.settings):(p==null?void 0:p.settings)||{},w={...b&&typeof b=="object"?b:{},...r};return(await fetch("https://api.webability.io/update-site-widget-settings",{method:"POST",headers:u,body:JSON.stringify({site_url:s,settings:JSON.stringify(w)})})).ok}catch(a){return console.error("Failed to save the statement settings:",a),!1}}async function He(s){const r=ne();try{const l=await fetch("https://api.webability.io/get-site-widget-settings",{method:"POST",headers:{"Content-Type":"application/json",...r?{Authorization:`Bearer ${r}`}:{}},body:JSON.stringify({site_url:s})});if(!l.ok)return{};const u=await l.json(),a=typeof(u==null?void 0:u.settings)=="string"?JSON.parse(u.settings):(u==null?void 0:u.settings)||{};return{accessibilityStatementMode:a==null?void 0:a.accessibilityStatementMode,accessibilityStatementText:a==null?void 0:a.accessibilityStatementText,accessibilityStatementLinkUrl:a==null?void 0:a.accessibilityStatementLinkUrl}}catch{return{}}}const qe="https://www.webability.io/statement";function se(s){return s.trim().toLowerCase().replace(/^https?:\/\//,"").replace(/^www\./,"").replace(/\/+$/,"")}function Je(s,r){if(typeof s!="string")return"";const l=s.trim();if(!l)return"";const u=(r||"").replace(/^www\./,"");let a;return/^https?:\/\//i.test(l)?a=l:l.startsWith("/")?a=u?`https://${u}${l}`:"":a=`https://${l}`,a?se(a)===se(qe)?"":a:""}function Ve(s,r){return Je(s,r)!==""}function V(s){const r=(s||"").trim();return r?/^[a-z][a-z0-9+.-]*:\/\//i.test(r)?r:r.startsWith("//")?`https:${r}`:`https://${r}`:""}function oe(s,{rules:r="divider"}={}){const l=(s||"").replace(/\[([^\]]+)\]\(([^)\s]+)\)/g,"$1 ($2)").replace(/^#{1,3} /gm,"").replace(/\*\*(.*?)\*\*/g,"$1").replace(/\*(.*?)\*/g,"$1").replace(/`([^`]+)`/g,"$1");return r==="drop"?l.replace(/^\s*---\s*$/gm,"").replace(/\n{3,}/g,` 3 4`).trim():l.replace(/---/g,"ââââââââââââââââââââââââââââââââââââ")}function Ke(s,r){return!r.trim()||s.trim()?null:r}function Ye(s,r){return!!r&&r!==s}function Ze(s){const r=(s||"").trim();return r?r.replace(/^[a-z][a-z0-9+.-]*:\/\//i,"").replace(/^www\./i,"").replace(/[/?#].*$/,"").toLowerCase():""}function Qe(s){const r=(s||"").trim();if(!r)return!1;let l;try{l=new URL(V(r))}catch{return!1}if(l.protocol!=="http:"&&l.protocol!=="https:")return!1;const u=l.hostname;return u?u.includes(".")||!!l.port:!1}function Xe({site:s,generatedStatement:r}){const[l,u]=h.useState("internal"),[a,p]=h.useState(""),[b,w]=h.useState(""),[T,F]=h.useState(!0),[I,g]=h.useState(!1);h.useEffect(()=>{let f=!0;if(!s){F(!1);return}return He(s).then(N=>{f&&(p(N.accessibilityStatementText||""),w(N.accessibilityStatementLinkUrl||""),u(N.accessibilityStatementMode==="internal"||N.accessibilityStatementMode==="external"?N.accessibilityStatementMode:Ve(N.accessibilityStatementLinkUrl,s)?"external":"internal"),F(!1))}),()=>{f=!1}},[s]);const R=oe(r,{rules:"drop"});h.useEffect(()=>{if(T)return;const f=Ke(a,R);f!==null&&p(f)},[T,R,a]);const P=async()=>{g(!0);const f=await _e(s,{accessibilityStatementMode:l,accessibilityStatementText:a,accessibilityStatementLinkUrl:b});g(!1),x[f?"success":"error"](f?l==="internal"?`Visitors to ${s} will now read this in the widget`:`The widget on ${s} will now open your page`:"Could not save the statement settings")};return T?e.jsx("div",{className:"bg-white rounded-xl shadow-xs border border-border p-6 mb-4 text-sm text-[#6E7788]",children:"Loading statement settingsâ¦"}):e.jsxs("div",{className:"bg-white rounded-xl shadow-xs border border-border p-6 mb-4",children:[e.jsxs("div",{className:"mb-5",children:[e.jsx("h3",{className:"text-xl font-semibold text-[#1a1a1a] mb-2",children:"Where visitors read it"}),e.jsxs("p",{className:"text-sm text-[#666666] leading-relaxed",children:["This is what the Accessibility Statement link in your widget opens on"," ",s||"this
4site","."]})]}),e.jsx("div",{role:"radiogroup","aria-label":"Where visitors read your accessibility statement",className:"flex flex-col gap-2 mb-5",children:[["internal","In the widget","Visitors read it without leaving the page."],["external","On my own page","The widget opens a page on your site instead."]].map(([f,N,z])=>e.jsxs("label",{className:`flex items-start gap-3 p-3 border rounded-lg cursor-pointer transition-colors duration-200 ${l===f?"border-primary bg-primary/4":"border-input hover:border-gray-400"}`,children:[e.jsx("input",{type:"radio",name:"statement-delivery-mode",value:f,checked:l===f,onChange:()=>u(f),className:"mt-0.5 accent-primary"}),e.jsxs("span",{children:[e.jsx("span",{className:"block text-sm font-medium text-gray-700",children:N}),e.jsx("span",{className:"block text-xs text-[#6E7788]",children:z})]})]},f))}),l==="internal"?e.jsxs(e.Fragment,{children:[e.jsx("label",{htmlFor:"statement-body",className:"block text-sm font-medium text-gray-700 mb-2",children:"Statement text"}),e.jsx("textarea",{id:"statement-body",rows:8,placeholder:"Leave blank to show the standard statement, or write the statement visitors read in the widget.",className:"w-full px-4 py-3 border border-input rounded-lg text-sm bg-white transition-colors duration-200 focus:ring-2 focus:ring-[#0052CC]/20 focus:border-primary placeholder:text-[#6E7788]",value:a,onChange:f=>p(f.target.value)}),e.jsxs("div",{className:"mt-2 flex items-start justify-between gap-4",children:[e.jsx("p",{className:"text-xs text-[#6E7788]",children:"Filled in from the statement above. Edit it freely â your changes are kept, and Save is what publishes them."}),Ye(a,R)&&e.jsx("button",{type:"button",onClick:()=>p(R),className:"shrink-0 text-xs font-medium text-primary hover:underline",children:"Replace with the statement above â"})]})]}):e.jsxs(e.Fragment,{children:[e.jsx("label",{htmlFor:"statement-url",className:"block text-sm font-medium text-gray-700 mb-2",children:"Your statement page"}),e.jsx("input",{id:"statement-url",type:"text",placeholder:"https://yourwebsite.com/accessibility",className:"w-full px-4 py-3 border border-input rounded-lg text-sm bg-white transition-colors duration-200 focus:ring-2 focus:ring-[#0052CC]/20 focus:border-primary placeholder:text-[#6E7788]",value:b,onChange:f=>w(f.target.value)}),e.jsxs("p",{className:"mt-2 text-xs text-[#6E7788]",children:["A relative path like /accessibility works too â it resolves against"," ",s||"your site","."]})]}),e.jsx("button",{type:"button",onClick:P,disabled:I||!s,className:"mt-5 px-6 py-2.5 bg-primary text-white rounded-lg text-sm font-medium shadow-xs hover:bg-[#003EB8] disabled:bg-gray-400 transition-colors duration-200",children:I?"Savingâ¦":"Save"})]})}const et="/assets/no-report-found-DLTfvds8.png";function tt(s,r,l,u,a){const p=l||s,b=u||"https://webability.io",w={title:"Accessibility Statement for",general:"General",measures:"Measures to support accessibility",conformance:"Conformance status",technical:"Technical specifications",assessment:"Assessment approach",widget:`${p} Accessibility Enhancer`,profiles:"Accessibility profiles for people with disabilities",features:"Additional accessibility features",feedback:"Feedback",compatibility:"Compatibility with browsers and assistive technology",limitations:"Known limitations and alternatives",compliance:"Assessment of current compliance",approval:"Formal approval of this accessibility statement",generated:`This accessibility statement was generated using ${p}'s AI Statement Generator on`,commitment:"is committed to ensuring digital accessibility for people with disabilities. We are continually improving the user experience for everyone, and applying the relevant accessibility standards to create an inclusive digital environment.",belief:"we believe that digital accessibility is not just a legal requirement but a fundamental human right. We strive to ensure that our website",accessible:"is accessible to all users, regardless of their abilities or the assistive technologies they use.",orgMeasures:"Organizational Measures",techMeasures:"Technical Measures",takesComprehe
4nsive:"takes the following comprehensive measures to ensure accessibility of",orgMeasuresList:`- Include accessibility as part of our mission statement and core values 5- Include accessibility throughout our internal policies and procedures 6- Integrate accessibility into our procurement practices and vendor requirements 7- Appoint an accessibility officer and/or ombudsperson with dedicated responsibilities 8- Provide continual accessibility training for our staff, including developers, designers, and content creators 9- Assign clear accessibility goals and responsibilities across departments 10- Employ formal accessibility quality assurance methods and testing protocols`,techMeasuresList:`- Regular accessibility audits using automated and manual testing tools 11- Implementation of [WCAG 2.1 AA guidelines](https://www.w3.org/WAI/WCAG21/quickref/) across all digital properties 12- User testing with people with disabilities to validate real-world accessibility 13- Continuous monitoring and improvement of accessibility features`,techIntro:"relies on the following technologies to work with the particular combination of web browser and any assistive technologies or plugins installed on your computer:",techList:`- **HTML5:** Semantic markup for proper document structure 14- **WAI-ARIA:** Advanced accessibility attributes for complex interactions 15- **CSS3:** Responsive design and accessibility-friendly styling 16- **JavaScript:** Progressive enhancement for accessibility features`,techNote:"These technologies are relied upon for conformance with the accessibility standards used. Our website is built with progressive enhancement principles, ensuring core functionality remains available even if JavaScript is disabled.",assessmentIntro:"assessed the accessibility of",assessmentBy:"by the following approaches:",automatedTesting:"Automated Testing",automatedList:`- Regular automated accessibility scanning using [${p}'s accessibility testing platform](${b}) 17- Integration with development workflow for continuous accessibility monitoring 18- Monthly comprehensive accessibility audits`,manualTesting:"Manual Testing",manualList:`- Expert accessibility reviews by certified accessibility professionals 19- Keyboard navigation testing across all interactive elements 20- Screen reader testing with NVDA, JAWS, VoiceOver, and TalkBack 21- Color contrast verification meeting WCAG AA standards`,userTesting:"User Testing",userList:`- Usability testing with people with disabilities 22- Feedback collection from users of assistive technologies 23- Regular accessibility user experience studies`,widgetIntro:`This website is equipped with [${p}'s accessibility enhancer](${b}) to provide additional assistive features that go beyond standard web accessibility requirements:`,profilesIntro:"Our accessibility enhancer includes specialized profiles designed for different types of disabilities:",profilesList:a?a.profilesList:`- **Seizure Safe Profile:** Eliminates flashes and reduces color that could trigger seizures 24- **Vision Impaired Profile:** Enhances the website's visuals for users with visual impairments 25- **ADHD Friendly Profile:** Reduces distractions and improves focus for users with ADHD 26- **Cognitive Disability Profile:** Provides additional reading and focusing assistance 27- **Keyboard Navigation Profile:** Optimizes the website for keyboard-only navigation 28- **Blind Users Profile:** Optimizes the website for screen-reader compatibility`,featuresIntro:"Additional accessibility features available through our enhancer:",featuresList:a?a.featuresList:`- **Text Adjustments:** Font size increases up to 200%, font family changes to readable fonts 29- **Color & Contrast:** High contrast mode, color adjustments for colorblind users 30- **Content Highlighting:** Link highlighting, button emphasis, and content structure emphasis 31- **Navigation Aids:** Reading guides, rulers, and content magnification 32- **Motor Impairments:** Focus indicators enhancement, click area enlargement 33- **Animation Controls:** Pause animations, reduce motion for vestibular disorders`,feedbackIntro:"We welcome your feedback on the accessibility of",feedbackNote:"Please let us know if you encounter accessibility barriers on our website:",contactInfo:"Accessibility Contact Information:",contactList:`- **Phone:** {phone} 34- **E-mail:** {email} 35- **Online Form:** {onlineForm} 36- **Visitor Address:** {visitorAddress} 37- **Postal Address:** {postalAddress}`,responseTime:"We try to respond to accessibility feedback within 2-3 business days and resolve reported issues within 5-10 business days, depending on complexity.",compatibilityIntro:"is designed to be compatible with the following assistive technologies:",compatibilityIntroText:"is designed to be compatible with the following assistive technologies:",screenReaders:"Screen Readers",screenReadersList:`- **NVDA** (Windows) - Fully supported with regular testing 38- **JAWS** (Windows) - Comprehensive compatibility and optimization 39- **VoiceOver** (macOS/iOS) - Native Apple screen reader support 40- **TalkBack** (Android) - Mobile accessibility optimization 41- **Dragon NaturallySpeaking** - Voice recognition software compatibility`,browsers:"Browsers",browsersList:`- Recent versions of major browsers including Chrome, Firefox, Safari, and Edge 42- Mobile browsers on iOS Safari and Android Chrome 43- Browser zoom up to 200% without horizontal scrolling 44- High contrast mode support across all browsers`,otherAssistive:"Other Assistive Technology",otherAssistiveList:`- Voice recognition software (Dragon, Windows Speech Recognition) 45- Switch navigation devices and software 46- Eye-tracking systems and head mouse devices 47- Alternative keyboards and input devices 48- Magnification software (ZoomText, MAGic)`,limitationsIntro:"Despite our best efforts to ensure accessibility of",limitationsText:"there may be some limitations. Below is a description of known limitations, and potential solutions. Please contact us if you observe an issue not listed below.",knownLimitations:"Known limitations for",limitation1:"**Third-party Content:** Some embedded content from third-party providers (social media widgets, videos, maps) may not be fully accessible. We work with vendors to ensure accessibility compliance.",limitation2:"**Legacy PDF Documents:** Some older PDF documents may not be fully accessible. We are systematically reviewing and updating these documents to meet accessibility standards.",limitation3:"**Live Content:** Real-time content such as live chat or dynamic updates may have accessibility limitations. We provide alternative methods to access this information.",whatWereDoing:"What we're doing:",whatWeDoList:`- Continuous accessibility improvements and updates 49- Regular third-party vendor accessibility reviews 50- Proactive identification and resolution of accessibility barriers 51- User feedback integration into our development process`,aboutStatement:"About This Statement",statementGenerated:"This statement was created on",aiGenerator:"AI-powered accessibility statement generator",lastReviewed:"The website was last reviewed for accessibility compliance on",complianceStatus:"Accessibility Standards Compliance:",approvedBy:"This Accessibility Statement is approved by:",accessibilityOfficer:"Accessibility Officer",statementDetails:"Statement Details:",complianceLevel:"Compliance Level:",nextReviewDate:"Next Review Date:",poweredBy:"Powered by",makingWebAccessible:"Making the web accessible for everyone.",wcagDescription:"The [Web Content Accessibility Guidelines (WCAG)](https://www.w3.org/WAI/WCAG21/Understanding/) defines requirements for designers and developers to improve accessibility for people with disabilities. It defines three levels of conformance: Level A, Level AA, and Level AAA.",fullyConformant:"is fully conformant with [WCAG 2.1 level AA](https://www.w3.org/WAI/WCAG21/quickref/?currentsidebar=%23col_overview&levels=aaa&technologies=smil%2Cpdf%2Cflash%2Csl). Fully conformant means that the content fully meets the accessibility standard without any exceptions.",complianceList:`This website also complies with: 52- [Section 508 of the Rehabilitation Act](https://www.section508.gov/) 53- [Americans with Disabilities Act (ADA)](https://www.ada.gov/resources/web-guidance/) 54- [EN 301 549 European Standard](https://www.etsi.org/deliver/etsi_en/301500_301599/301549/03.02.01_60/en_301549v030201p.pdf)`};return r==="add-testing"&&(w.automatedList=`- Regular automated accessibility scanning using [${p}'s accessibility testing platform](${b})
55- Integration with development workflow for continuous accessibility monitoring 56- Monthly comprehensive accessibility audits 57- **Enhanced Testing:** Use of industry-standard tools including axe-core, WAVE, Lighthouse, and Pa11y 58- **Continuous Integration:** Automated accessibility testing in CI/CD pipeline 59- **Performance Testing:** Regular testing of accessibility features under load`),r==="add-timeline"&&(w.responseTime="We try to respond to accessibility feedback within 2-3 business days and resolve reported issues within 5-10 business days, depending on complexity. **Enhanced Timeline:** Priority issues are addressed within 24 hours, and we provide regular status updates throughout the resolution process."),r==="add-training"&&(w.orgMeasuresList=`- Include accessibility as part of our mission statement and core values 60- Include accessibility throughout our internal policies and procedures 61- Integrate accessibility into our procurement practices and vendor requirements 62- Appoint an accessibility officer and/or ombudsperson with dedicated responsibilities 63- **Enhanced Training Program:** Comprehensive accessibility training for all staff including developers, designers, content creators, and customer service 64- **Certification Programs:** Staff receive IAAP (International Association of Accessibility Professionals) certification 65- **Regular Workshops:** Monthly accessibility workshops covering latest standards and assistive technologies 66- Assign clear accessibility goals and responsibilities across departments 67- Employ formal accessibility quality assurance methods and testing protocols`),r==="add-standards"&&(w.complianceList=`This website also complies with: 68- [Section 508 of the Rehabilitation Act](https://www.section508.gov/) 69- [Americans with Disabilities Act (ADA)](https://www.ada.gov/resources/web-guidance/) 70- [EN 301 549 European Standard](https://www.etsi.org/deliver/etsi_en/301500_301599/301549/03.02.01_60/en_301549v030201p.pdf) 71- **Additional Standards:** ISO/IEC 40500:2012, BITV 2.0 (Germany), RGAA 4.1 (France) 72- **Industry Compliance:** W3C WAI-ARIA 1.2, HTML5 accessibility specifications 73- **Mobile Standards:** W3C Mobile Accessibility Guidelines`),w}const it="https://widget.webability.io/features.json",Q="wa_features_manifest",at=1440*60*1e3,st=[{key:"big-cursor",label:"Big Cursor",category:"preset",wcagRefs:["2.5.5"],description:"Enlarges the mouse
73cursor for easier tracking and clicking."},{key:"stop-animations",label:"Stop Animations",category:"preset",wcagRefs:["2.2.2","2.3.3"],description:"Pauses moving, blinking, or auto-updating content and page animations."},{key:"readable-guide",label:"Reading Guide",category:"preset",wcagRefs:["1.4.8"],description:"Adds a horizontal reading ruler that follows the cursor."},{key:"images-alt",label:"Images",category:"preset",wcagRefs:["1.1.1"],description:"Reveals every image's alt text and flags images with missing alt text."},{key:"darkMode",label:"Dark Mode",category:"preset",wcagRefs:["1.4.3","1.4.8"],description:"Switches the page to a dark background with light text.",osNativeAlternative:"OS/browser dark mode"},{key:"keyboard-navigation",label:"Keyboard Navigation",category:"preset",wcagRefs:["2.1.1"],description:"Enables enhanced keyboard-only navigation with visible focus outlines."},{key:"page-structure",label:"Page Structure",category:"preset",wcagRefs:["1.3.1","2.4.6"],description:"Shows an outline-solid of the page's headings and landmarks."},{key:"text-simplifier",label:"Text Simplifier",category:"preset",wcagRefs:["3.1.5"],description:"Rewrites selected page text in plain, simplified language."},{key:"adhd",label:"ADHD",category:"profile",wcagRefs:["2.2.2","1.4.8"],description:"Bundle: stops animations, adds a reading guide, and lowers saturation."},{key:"seizure-epileptic",label:"Seizure & Epileptic",category:"profile",wcagRefs:["2.3.1"],description:"Bundle: stops animations and lowers saturation."},{key:"cognitive-learning",label:"Cognitive & Learning",category:"profile",wcagRefs:["3.1.5","2.2.2"],description:"Bundle: stops animations, adds a reading guide and tooltips, sets light contrast."},{key:"visually-impaired",label:"Visually-Impaired",category:"profile",wcagRefs:["1.4.3","1.4.4"],description:"Bundle: stops animations, enlarges the cursor, adds legible fonts, tooltips, and high contrast."},{key:"dyslexia-font",label:"Dyslexia",category:"profile",wcagRefs:["3.1.5"],description:"Bundle: stops animations and switches to a dyslexia-friendly, readable font."},{key:"color-blind",label:"Color Blind",category:"profile",wcagRefs:["1.4.1"],description:"Bundle: increases color saturation to make content easier to distinguish."},{key:"blind",label:"Blind",category:"profile",wcagRefs:["4.1.2"],description:"Intended to enable a screen-reading mode for blind users."},{key:"motor-impaired",label:"Motor Impaired",category:"profile",wcagRefs:["2.5.5","2.1.1"],description:"Bundle: stops animations and enables enhanced keyboard navigation."},{key:"dark-contrast",label:"Dark Contrast",category:"filter",wcagRefs:["1.4.3"],description:"Inverts the page to a dark color scheme while keeping images and video true to color."},{key:"light-contrast",label:"Light Contrast",category:"filter",wcagRefs:["1.4.3"],description:"Sets a white page background for a higher-contrast reading surface."},{key:"high-contrast",label:"High Contrast",category:"filter",wcagRefs:["1.4.3","1.4.6"],description:"Increases the page's visual contrast."},{key:"high-saturation",label:"High Saturation",category:"filter",wcagRefs:["1.4.1"],description:"Increases color saturation to make content easier to distinguish."},{key:"low-saturation",label:"Low Saturation",category:"filter",wcagRefs:["2.3.1","1.4.1"],description:"Reduces color saturation to lessen visual intensity."},{key:"monochrome",label:"Monochrome",category:"filter",wcagRefs:["1.4.1"],description:"Removes color from the page, rendering it in grayscale."},{key:"highlight-links",label:"Highlight Links",category:"tool",wcagRefs:["2.4.4","1.4.1"],description:"Outlines every link on the page so they stand out from surrounding text."},{key:"highlight-title",label:"Highlight Titles",category:"tool",wcagRefs:["2.4.6"],description:"Outlines headings so page structure is easier to scan."},{key:"readable-font",label:"Readable Font",category:"tool",wcagRefs:["3.1.5"],description:"Switches body text to a more legible font face."},{key:"letter-spacing",label:"Letter Spacing",category:"tool",wcagRefs:["1.4.12"],description:"Increases the spacing between letters."},{key:"line-height",label:"Line Height",category:"tool",wcagRefs:["1.4.12"],description:"Increases the spacing between lines of text."},{key:"font-weight",label:"Font Weight",category:"tool",wcagRefs:["1.4.8"],description:"Increases text boldness for easier reading."},{key:"font-size",label:"Font Size",category:"tool",wcagRefs:["1.4.4"],description:"Increases page text size up to 200%."}],rt=new Set(["preset","profile","tool","filter"]);function re(s){return Array.isArray(s)&&s.length>0&&s.every(r=>r&&typeof r.key=="string"&&typeof r.label=="string"&&rt.has(r.category)&&Array.isArray(r.wcagRefs)&&typeof r.description=="str
73ing")}async function nt(){try{const s=localStorage.getItem(Q);if(s){const r=JSON.parse(s);if(Date.now()-r.timestamp<at&&re(r.manifest))return r.manifest}}catch{localStorage.removeItem(Q)}try{const s=await fetch(it,{signal:AbortSignal.timeout(5e3)});if(!s.ok)throw new Error(`features.json ${s.status}`);const r=await s.json();if(!re(r))throw new Error("features.json failed shape validation");try{localStorage.setItem(Q,JSON.stringify({manifest:r,timestamp:Date.now()}))}catch{}return r}catch(s){return console.warn("[StatementGenerator] features.json unavailable, using fallback manifest:",s),st}}function le(s){const r=s.wcagRefs.length?` (WCAG ${s.wcagRefs.join(", ")})`:"",l=s.osNativeAlternative?` Also available via your device's ${s.osNativeAlternative}.`:"";return`- **${s.label}:** ${s.description}${r}${l}`}function ot(s){return s.filter(r=>r.category==="profile").map(le).join(` 74`)}const lt=[{category:"preset",heading:"Toolbar tools"},{category:"tool",heading:"Content & display"},{category:"filter",heading:"Color & contrast"}];function ct(s){return lt.map(({category:r,heading:l})=>{const u=s.filter(a=>a.category===r);return u.length?`**${l}** 75${u.map(le).join(` 76`)}`:""}).filter(Boolean).join(` 77 78`)}const dt=Se` 79 mutation TranslateStatement( 80 $content: String! 81 $targetLanguage: String! 82 $languageCode: String! 83 $context: String 84 ) { 85 translateStatement( 86 content: $content 87 targetLanguage: $targetLanguage 88 languageCode: $languageCode 89 context: $context 90 ) { 91 success 92 translatedContent 93 error 94 languageCode 95 } 96 } 97`,ft=({lockedDomain:s})=>{const{t:r}=Ge(),l=Ie();Re({title:r("Common.title.statement_generator")});const u=Le(()=>Ee(()=>import("./statementGeneratorTourSteps-B9fGUGnN.js"),__vite__mapDeps([0,1])).then(t=>t.statementGeneratorTourSteps),[]),[a,p]=h.useState({companyName:"",websiteUrl:V(s||""),contactEmail:"",language:"en",industry:"",widgetBrandName:l,widgetBrandUrl:"https://webability.io",phoneNumber:"",visitorAddress:"",postalAddress:"",onlineFormUrl:""}),{site:b}=Ue();h.useEffect(()=>{if(s||!(b!=null&&b.url))return;const t=V(b.url);p(n=>n.websiteUrl===t?n:{...n,websiteUrl:t})},[b==null?void 0:b.url,s]);const[w,T]=h.useState(""),[F,I]=h.useState(!1),[g,R]=h.useState("markdown"),[P,f]=h.useState(""),[N,z]=h.useState(!1),[D,ce]=h.useState(!1),[de,X]=h.useState(!1),[$,K]=h.useState([]),[y,ee]=h.useState({}),[te]=Ne(dt),O=h.useRef(null),G=h.useRef(null),me=h.useCallback(async(t,n,m,o)=>{var c,d;try{const U=JSON.stringify(t).slice(0,50),A=`translation_v4_${m}_${o||"default"}_${U}`,L=localStorage.getItem(A);if(L)try{const C=JSON.parse(L),B=Date.now()-C.timestamp,ve=10080*60*1e3;if(B<ve&&C.translation)return C.translation}catch{localStorage.removeItem(A)}const v=`You are a professional translator specializing in accessibility and legal documents for the ${a.industry||"business"} industry. 98 99Translate the following accessibility statement content from English to ${n}. 100 101CRITICAL REQUIREMENTS: 1021. Use formal, professional legal language appropriate for ${n} 1032. Preserve these technical terms exactly: WCAG, ADA, Section 508, ARIA, NVDA, JAWS, VoiceOver, TalkBack 1043. Keep URLs, email addresses, and brand names unchanged 1054. Maintain the exact same JSON structure 1065. Use official accessibility terminology in ${n} 1076. Sound natural to native ${n} speakers 1087. Maintain legal/compliance tone appropriate for accessibility statements 1098. ABSOLUTELY FORBIDDEN: Never mix languages - translate ALL text to ${n} 1109. FORBIDDEN PHRASES: Never use "At [company]", "using", "and", "This statement", "Last updated" - translate everything 11110. REPLACE PATTERNS: "At dsad," â translate to proper ${n} equivalent like "dsad-à¦" for Bengali 11211. CHECK FOR: Any English words like "At", "using", "and manual", "This statement" - must be translated 11312. Use consistent terminology throughout the document 11413. Format dates appropriately for the target culture 11514. CHECK EVERY SENTENCE: Ensure no English words remain except technical terms and URLs 116 117${o?`SPECIAL FOCUS: ${o.replace("add-","Emphasize ")}`:""} 118 119LANGUAGE-SPECIFIC GUIDELINES: 120- For Arabic: Use formal Arabic (ÙØµØÙ), maintain right-to-left text flow, use appropriate date formatting 121- For Spanish: Use formal register, proper regional variations, maintain professional tone 122- For French: Use formal French (tutoiement), proper accents, maintain legal terminology 123- For German: Use formal Sie form, compound words appropriately, maintain technical precision 124- For Chinese: Use simplified/traditional as appropriate, formal register, proper measure words 125- For Japanese: Use formal keigo when appropriate, maintain respectful tone 126- For Korean: Use formal speech levels, maintain honorific system 127- For Portuguese: Use formal register, distinguish Brazil/Portugal variants if needed 128- For Russian: Use formal register, proper cases, maintain official terminology 129- For Italian: Use formal register, proper conjugations, maintain professional tone 130- For Dutch: Use formal register, proper compound words, maintain technical accuracy 131- For technical terms: Keep English terms like "WCAG 2.1 AA" but translate explanatory text 132- For company names: Keep original name but translate context around it 133- For dates: Use culturally appropriate date formats for each language/region 134- For currency/numbers: Use appropriate formatting conventions for target locale 135 136CONTENT TO TRANSLATE: 137${JSON.stringify(t,null,2)} 138 139Return ONLY a valid JSON object with the same structure, with all values professionally translated to ${n}:`,i=new Promise((C,B)=>setTimeout(()=>B(new Error("Translation request timed out. Please try again.")),45e3)),S=te({variables:{content:v,targetLanguage:n,languageCode:m,context:JSON.stringify({domain:"accessibility-legal",documentType:"compliance-statement",industry:a.industry,enhancement:o})}}),{data:j}=await Promise.race([S,i]);if(!((c=j==null?void 0:j.translateStatement)!=null&&c.success))throw new Error(((d=j==null?void 0:j.translateStatement)==null?void 0:d.error)||"Translation failed");const M=j.translateStatement.translatedContent;if(!M)throw new Error("No translation content received");let W;try{let C=M;
139typeof M=="string"&&(C=M.replace(/^```json\s*/m,"").replace(/\s*```$/m,"").trim()),W=JSON.parse(C)}catch{throw new Error("Translation service temporarily unavailable. Please try again.")}return localStorage.setItem(A,JSON.stringify({translation:W,timestamp:Date.now()})),W}catch(U){return console.error(`Translation failed for ${n}:`,U),x.error(`Translation to ${n} failed, using English`),t}},[te,a.industry]),_=(t,n,m,o)=>tt(l,t,n,m,o),Y=[{code:"en",name:"English",englishName:"English"},{code:"ar",name:"Ø§ÙØ¹Ø±Ø¨ÙØ©",englishName:"Arabic"},{code:"bg",name:"ÐÑлгаÑÑки",englishName:"Bulgarian"},{code:"bn",name:"বাà¦à¦²à¦¾",englishName:"Bengali"},{code:"cs",name:"ÄeÅ¡tina",englishName:"Czech"},{code:"de",name:"Deutsch",englishName:"German"},{code:"el",name:"Îλληνικά",englishName:"Greek"},{code:"es",name:"Español",englishName:"Spanish"},{code:"fi",name:"Suomi",englishName:"Finnish"},{code:"fr",name:"Français",englishName:"French"},{code:"he",name:"×¢×ר×ת",englishName:"Hebrew"},{code:"hi",name:"हिनà¥à¤¦à¥",englishName:"Hindi"},{code:"hr",name:"Hrvatski",englishName:"Croatian"},{code:"hu",name:"Magyar",englishName:"Hungarian"},{code:"id",name:"Bahasa Indonesia",englishName:"Indonesian"},{code:"it",name:"Italiano",englishName:"Italian"},{code:"ja",name:"æ¥æ¬èª",englishName:"Japanese"},{code:"ko",name:"íêµì´",englishName:"Korean"},{code:"lt",name:"Lietuvių",englishName:"Lithuanian"},{code:"lv",name:"LatvieÅ¡u",englishName:"Latvian"},{code:"ms",name:"Bahasa Melayu",englishName:"Malay"},{code:"nl",name:"Nederlands",englishName:"Dutch"},{code:"no",name:"Norsk",englishName:"Norwegian"},{code:"pl",name:"Polski",englishName:"Polish"},{code:"pt",name:"Português",englishName:"Portuguese"},{code:"pt-br",name:"Português (Brasil)",englishName:"Portuguese (Brazil)"},{code:"ro",name:"RomânÄ",englishName:"Romanian"},{code:"ru",name:"Ð ÑÑÑкий",englishName:"Russian"},{code:"sk",name:"SlovenÄina",englishName:"Slovak"},{code:"sl",name:"SlovenÅ¡Äina",englishName:"Slovenian"},{code:"sr",name:"СÑпÑки",englishName:"Serbian"},{code:"sv",name:"Svenska",englishName:"Swedish"},{code:"th",name:"à¹à¸à¸¢",englishName:"Thai"},{code:"tr",name:"Türkçe",englishName:"Turkish"},{code:"uk",name:"УкÑаÑнÑÑка",englishName:"Ukrainian"},{code:"ur",name:"اردÙ",englishName:"Urdu"},{code:"vi",name:"Tiếng Viá»t",englishName:"Vietnamese"},{code:"zh",name:"䏿 (ç®ä½)",englishName:"Chinese (Simplified)"},{code:"zh-tw",name:"䏿 (ç¹é«)",englishName:"Chinese (Traditional)"},{code:"da",name:"Dansk",englishName:"Danish"},{code:"et",name:"Eesti",englishName:"Estonian"},{code:"ca",name:"Català ",englishName:"Catalan"}],ue=["E-commerce","Healthcare","Education","Financial Services","Technology","Government","Non-profit","Real Estate","Travel & Hospitality","Media & Entertainment","Professional Services","Other"],k=t=>n=>{const m=n.target.value;if(p(o=>({...o,[t]:m})),y[t]&&ee(o=>({...o,[t]:void 0})),t==="widgetBrandName"||t==="widgetBrandUrl"||t==="language")try{Object.keys(localStorage).filter(c=>c.startsWith("translation_")).forEach(c=>localStorage.removeItem(c))}catch{}},ie=Y.filter(t=>t.name.toLowerCase().includes(P.toLowerCase())||t.englishName.toLowerCase().includes(P.toLowerCase())||t.code.toLowerCase().includes(P.toLowerCase())),Z=Y.find(t=>t.code===a.language),pe=Z?`${Z.name} (${Z.englishName})`:"Select Language";h.useEffect(()=>()=>{O.current&&clearTimeout(O.current)},[]);const ge=()=>{const t={};return a.companyName.trim()||(t.companyName="Company Name is required"),a.websiteUrl.trim()||(t.websiteUrl="Website URL is required"),a.contactEmail.trim()||(t.contactEmail="Contact Email is required"),a.industry||(t.industry="Industry is required"),ee(t),Object.keys(t).length===0},he=h.useCallback(()=>{O.current&&clearTimeout(O.current),O.current=setTimeout(async()=>{if(!ge())return;const t=Date.now(),n=`${a.companyName}_${a.websiteUrl}_${a.contactEmail}_${a.language}_${a.industry}`;if(G.current&&G.current.formDataKey===n&&t-G.current.timestamp<5e3){x.info("Please wait, statement is still being generated...");return}const m=V(a.websiteUrl);if(a.websiteUrl&&!Qe(m)){x.error("Please enter a valid website address, like example.com");return}if(m!==a.websiteUrl&&p(o=>({...o,websiteUrl:m})),a.contactEmail&&!a.contactEmail.match(/^[^\s@]+@[^\s@]+\.[^\s@]+$/)){x.error("Please enter a valid email address");return}G.current={formDataKey:n,timestamp:t},I(!0);try{const o=await ae({...a,websiteUrl:m});T(o),x.success("Accessibility statement generated successfully!")}catch(o){const c=o instanceof Error?o.message:"Failed to generate statement. Please try again.";x.error(c),o instanceof Error&&console.error("Translation error:",{message:o.message,language:a.language,timestamp:new Date().toISOString()})}finally{I(!1)}},200)},[a,I,T]),fe=t=>({en:"en-US",es:"es-ES",fr:"fr-FR",de:"de-DE",it:"it-IT",pt:"pt-PT","pt-br":"pt-BR",nl:"nl-NL",pl:"pl-PL",ru:"ru-RU",zh:"zh-CN","zh-tw":"zh-TW",ja:"ja-JP",ko:"ko-KR",ar:"ar-SA",hi:"hi-IN",th:"th-TH",vi:"vi-VN",tr:"tr-TR",he:"he-IL",sv:"sv-SE",no:"nb-NO",da:"da-DK",fi:"fi-FI",cs:"cs-CZ",sk:"sk-SK",hu:"hu-HU",ro:"ro-RO",bg:"bg-BG",hr:"hr-HR",sr:"sr-RS",sl:"sl-SI",et:"et-EE",lv:"lv-LV",lt:"lt-LT",el:"el-GR",uk:"uk-UA",ms:"ms-MY",id:"id-ID",bn:"bn-BD",ur:"ur-PK",ca:"ca-ES"})[t]||"en-US",ae=async(t,n)=>{const m=Y.find(S=>S.code===t.language),o=m?m.name:"English",c=fe(t.language),d=new Date().toLocaleDateString(c,{year:"numeric",month:"long",day:"numeric"}),U=new Date().toLocaleDateString(c,{year:"numeric",month:"long",day:"numeric"}),A=await nt(),L={profilesList:ot(A),featuresList:ct(A)},i=await(async S=>{if(S==="en")return _(n,t.widgetBrandName,t.widgetBrandUrl,L);try{const j=_(n,t.widgetBrandName,t.widgetBrandUrl,L),W={ar:"Arabic",bg:"Bulgarian",bn:"Bengali",cs:"Czech",de:"German",el:"Greek",es:"Spanish",fi:"Finnish",fr:"French",he:"Hebrew",hi:"Hindi",hr:"Croatian",hu:"Hungarian",id:"Indonesian",it:"Italian",ja:"Japanese",ko:"Korean",lt:"Lithuanian",lv:"Latvian",ms:"Malay",nl:"Dutch",no:"Norwegian",pl:"Polish",pt:"Portuguese","pt-br":"Portuguese (Brazil)",ro:"Romanian",ru:"Russian",sk:"Slovak",sl:"Slovenian",sr:"Serbian",
139sv:"Swedish",th:"Thai",tr:"Turkish",uk:"Ukrainian",ur:"Urdu",vi:"Vietnamese",zh:"Chinese (Simplified)","zh-tw":"Chinese (Traditional)",da:"Danish",et:"Estonian",ca:"Catalan"}[S]||"English",C=await me(j,W,S);if(typeof C=="string")try{let B=C.replace(/^```json\s*/m,"").replace(/\s*```$/m,"").trim();return JSON.parse(B)}catch{return _(n,t.widgetBrandName,t.widgetBrandUrl,L)}return C}catch{return _(n,t.widgetBrandName,t.widgetBrandUrl,L)}})(t.language);return`## ${i.title} ${t.companyName} 140 141*Last updated: ${d}* 142 143## ${i.general} 144${t.companyName} ${i.commitment} 145 146At ${t.companyName}, ${i.belief} ${t.websiteUrl} ${i.accessible} 147 148## ${i.measures} 149${t.companyName} ${i.takesComprehensive} ${t.websiteUrl}: 150 151### ${i.orgMeasures} 152${i.orgMeasuresList} 153 154### ${i.techMeasures} 155${i.techMeasuresList} 156 157## ${i.conformance} 158${i.wcagDescription} 159 160**${t.websiteUrl} ${i.fullyConformant}** 161 162${i.complianceList} 163 164## ${i.technical} 165${t.websiteUrl} ${i.techIntro} 166 167${i.techList} 168 169${i.techNote} 170 171## ${i.assessment} 172${t.companyName} ${i.assessmentIntro} ${t.websiteUrl} ${i.assessmentBy} 173 174### ${i.automatedTesting} 175${i.automatedList} 176 177### ${i.manualTesting} 178${i.manualList} 179 180### ${i.userTesting} 181${i.userList} 182 183## ${i.widget} 184${i.widgetIntro} 185 186### ${i.profiles} 187${i.profilesIntro} 188 189${i.profilesList} 190 191### ${i.features} 192${i.featuresIntro} 193 194${i.featuresList} 195 196## ${i.feedback} 197${i.feedbackIntro} ${t.websiteUrl}. ${i.feedbackNote} 198 199**${i.contactInfo}** 200${(()=>{const S=[];return t.phoneNumber&&S.push(`- **Phone:** ${t.phoneNumber}`),S.push(`- **E-mail:** ${t.contactEmail}`),t.onlineFormUrl&&S.push(`- **Online Form:** [Link to accessibility feedback form](${t.onlineFormUrl})`),t.visitorAddress&&S.push(`- **Visitor Address:** ${t.visitorAddress}`),t.postalAddress&&S.push(`- **Postal Address:** ${t.postalAddress}`),S.join(` 201`)})()} 202 203**Response Time:** ${i.responseTime} 204 205## ${i.compatibility} 206${t.websiteUrl} ${i.compatibilityIntro} 207 208### ${i.screenReaders} 209${i.screenReadersList} 210 211### ${i.browsers} 212${i.browsersList} 213 214### ${i.otherAssistive} 215${i.otherAssistiveList} 216 217## ${i.limitations} 218${i.limitationsIntro} ${t.websiteUrl}, ${i.limitationsText} 219 220**${i.knownLimitations} ${t.websiteUrl}:** 221 2221. ${i.limitation1} 223 2242. ${i.limitation2} 225 2263. ${i.limitation3} 227 228**${i.whatWereDoing}** 229${i.whatWeDoList} 230 231## ${i.compliance} 232${t.widgetBrandName&&t.widgetBrandName!==l?`${i.statementGenerated} ${d} using professional accessibility assessment tools. ${i.lastReviewed} ${U}.`:`${i.statementGenerated} ${d} using [${t.widgetBrandName||l}'s ${i.aiGenerator}](https://app.webability.io/statement-generator) and manual accessibility assessment tools. ${i.lastReviewed} ${U}.`} 233 234**${i.complianceStatus}** 235- WCAG 2.1 AA: â Fully Compliant 236- Section 508: â Compliant 237- ADA Title III: â Compliant 238- EN 301 549: â Compliant 239 240## ${i.approval} 241${i.approvedBy} 242 243**${t.companyName}** 244**${i.accessibilityOfficer}** 245**Email:** ${t.contactEmail} 246**Date:** ${d} 247 248--- 249 250### ${i.aboutStatement} 251 252${t.widgetBrandName&&t.widgetBrandName!==l?`*${i.statementGenerated} ${d}. This statement reflects our current accessibility features and our ongoing commitment to digital inclusion.*`:`*${i.statementGenerated} [${t.widgetBrandName||l}'s Professional ${i.aiGenerator}](https://app.webability.io/statement-generator) ${d}. This statement reflects our current accessibility features and our ongoing commitment to digital inclusion.*`} 253 254**${i.statementDetails}** 255- **Language:** ${o} (${t.language.toUpperCase()}) 256- **Industry:** ${t.industry||"General Business"} 257- **${i.complianceLevel}** WCAG 2.1 AA 258- **${i.nextReviewDate}** ${new Date(Date.now()+365*24*60*60*1e3).toLocaleDateString(c,{year:"numeric",month:"long",day:"numeric"})} 259 260${t.widgetBrandName&&t.widgetBrandName!==l?`**${i.poweredBy} [${t.widgetBrandName}](${t.widgetBrandUrl||t.websiteUrl}) - ${i.makingWebAccessible}**`:`**${i.poweredBy} [${t.widgetBrandName||l}](${t.widgetBrandUrl||"https://webability.io"}) - ${i.makingWebAccessible}**`}`},be=(t,n)=>{switch(n){case"html":const m=t.split(` 261`),o=[];let c=!1,d=[];for(let A=0;A<m.length;A++){const v=m[A].trim();if(v.startsWith("### "))c&&(o.push(`<ul style="margin: 1rem 0; padding-left: 1.5rem;">${d.join("")}</ul>`),d=[],c=!1),o.push(`<h3 style="color: #4b5563; font-size: 1.25rem; font-weight: 600; margin: 1rem 0;">${v.substring(4)}</h3>`);else if(v.startsWith("## "))c&&(o.push(`<ul style="margin: 1rem 0; padding-left: 1.5rem;">${d.join("")}</ul>`),d=[],c=!1),o.push(`<h2 style="color: #374151; font-size: 1.5rem; font-weight: 600; margin: 1.25rem 0;">${v.substring(3)}</h2>`);else if(v.startsWith("# "))c&&(o.push(`<ul style="margin: 1rem 0; padding-left: 1.5rem;">${d.join("")}</ul>`),d=[],c=!1),o.push(`<h1 style="color: #1f2937; font-size: 2rem; font-weight: bold; margin: 1.5rem 0;">${v.substring(2)}</h1>`);else if(v.startsWith("- ")){c||(c=!0);const i=v.substring(2).replace(/\*\*(.*?)\*\*/g,'<strong style="font-weight: 600;">$1</strong>').replace(/\[([^\]]+)\]\(([^)]+)\)/g,'<a href="$2" style="color: #0052CC; text-decoration: underline;">$1</a>');d.push(`<li style="margin: 0.5rem 0;">${i}</li>`)}else if(v==="---")c&&(o.push(`<ul style="margin: 1rem 0; padding-left: 1.5rem;">${d.join("")}</ul>`),d=[],c=!1),o.push('<hr style="border: none; border-top: 1px solid #e5e7eb; margin: 2rem 0;">');else if(v==="")c&&(o.push(`<ul style="margin: 1rem 0; padding-left: 1.5rem;">${d.join("")}</ul>`),d=[],c=!1);else{c&&(o.push(`<ul style="margin: 1rem 0; padding-left: 1.5rem;">${d.join("")}</ul>`),d=[],c=!1);let i=v.replace(/\*\*(.*?)\*\*/g,'<strong style="font-weight: 600;">$1</strong>').replace(/\[([^\]]+)\]\(([^)]+)\)/g,'<a href="$2" style="color: #0052CC; text-decoration: underline;">$1</a>').replace(/\*(.*?)\*/g,"<em>$1</em>");
261i.startsWith("<")?o.push(i):o.push(`<p style="margin: 1rem 0; line-height: 1.6; color: #374151;">${i}</p>`)}}return c&&o.push(`<ul style="margin: 1rem 0; padding-left: 1.5rem;">${d.join("")}</ul>`),`<!DOCTYPE html> 262<html lang="en"> 263<head> 264 <meta charset="UTF-8"> 265 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 266 <title>Accessibility Statement</title> 267 <style> 268 body { 269 font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; 270 line-height: 1.6; 271 color: #374151; 272 max-width: 800px; 273 margin: 0 auto; 274 padding: 2rem; 275 background-color: #ffffff; 276 } 277 h1 { color: #1f2937; font-size: 2rem; font-weight: bold; margin: 1.5rem 0; } 278 h2 { color: #374151; font-size: 1.5rem; font-weight: 600; margin: 1.25rem 0; } 279 h3 { color: #4b5563; font-size: 1.25rem; font-weight: 600; margin: 1rem 0; } 280 p { margin: 1rem 0; line-height: 1.6; } 281 ul { margin: 1rem 0; padding-left: 1.5rem; } 282 li { margin: 0.5rem 0; } 283 strong { font-weight: 600; } 284 hr { border: none; border-top: 1px solid #e5e7eb; margin: 2rem 0; } 285 </style> 286</head> 287<body> 288 ${o.join(` 289`)} 290</body> 291</html>`;case"text":return oe(t);default:return t}},H=()=>be(w,g),ye=async()=>{try{const t=H();if(!t||t.trim()===""){x.error("No content to copy. Please generate a statement first.");return}if(navigator.clipboard&&window.isSecureContext)await navigator.clipboard.writeText(t),x.success(`Statement copied as ${g.toUpperCase()}!`);else{const n=document.createElement("textarea");n.value=t,n.style.position="fixed",n.style.left="-999999px",n.style.top="-999999px",document.body.appendChild(n),n.focus(),n.select();try{if(document.execCommand("copy"))x.success(`Statement copied as ${g.toUpperCase()}!`);else throw new Error("Copy command failed")}finally{document.body.removeChild(n)}}}catch(t){console.error("Copy to clipboard error:",t),x.error("Failed to copy to clipboard. Please try selecting and copying manually.")}},we=()=>{const t=H(),n={markdown:"md",html:"html",text:"txt"},m={markdown:"text/markdown",html:"text/html",text:"text/plain"},o=new Blob([t],{type:m[g]}),c=URL.createObjectURL(o),d=document.createElement("a");d.href=c,d.download=`${a.companyName||"accessibility"}-statement.${n[g]}`,document.body.appendChild(d),d.click(),document.body.removeChild(d),URL.revokeObjectURL(c),x.success(`Statement downloaded as ${g.toUpperCase()}!`)},q=async t=>{if($.includes(t))K(m=>m.filter(o=>o!==t));else{const m=[...$,t];K(m),await xe(t)}},xe=async t=>{if(!w){x.error("Please generate a statement first");return}I(!0),x.info("Applying enhancement...");try{const n={...a};switch(t){case"add-testing":n.industry=a.industry+" (with detailed testing procedures)";break;case"add-timeline":n.industry=a.industry+" (with response timelines)";break;case"add-training":n.industry=a.industry+" (with staff training details)";break;case"add-standards":n.industry=a.industry+" (with additional standards)";break}const m=await ae(n,t);T(m);const o={"add-testing":"automated testing procedures","add-timeline":"response timelines","add-training":"staff training information","add-standards":"additional compliance standards"};x.success(`Enhancement applied: ${o[t]}!`)}catch(n){console.error("Enhancement error:",n),x.error("Failed to apply enhancement. Please try again."),K(m=>m.filter(o=>o!==t))}finally{I(!1)}};return e.jsxs("div",{className:"statement-generator-wrapper min-h-full",children:[e.jsx("style",{children:` 292 /* Custom scrollbar styling to match Figma design */ 293 .custom-scrollbar::-webkit-scrollbar {
294 width: 6px; 295 } 296 297 .custom-scrollbar::-webkit-scrollbar-track { 298 background: transparent; 299 } 300 301 .custom-scrollbar::-webkit-scrollbar-thumb { 302 background: #7383ED; 303 border-radius: 3px; 304 border: none; 305 min-height: 20px; 306 } 307 308 .custom-scrollbar::-webkit-scrollbar-thumb:hover { 309 background: #5a6bdb; 310 } 311 312 .custom-scrollbar::-webkit-scrollbar-corner { 313 background: transparent; 314 } 315 316 /* For Firefox */ 317 .custom-scrollbar { 318 scrollbar-width: thin; 319 scrollbar-color: #7383ED transparent; 320 } 321 `}),e.jsxs("div",{className:"pl-6",children:[e.jsx("header",{className:"text-left mb-1",children:e.jsx("div",{className:"mb-1",children:e.jsx("h1",{className:"text-4xl font-bold text-gray-900 mb-1",children:"AI Accessibility Statement Generator"})})}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-8",children:[e.jsx("div",{className:" statement-preview-section w-full lg:col-span-2",children:e.jsx("div",{className:"pt-2 w-full",children:w?e.jsxs("div",{children:[e.jsx("div",{className:"mb-6",children:e.jsxs("div",{role:"tablist","aria-label":"Format selection",className:"flex flex-row max-md:flex-col bg-gray-50 border border-border rounded-lg p-1",children:[e.jsxs("button",{role:"tab","aria-selected":g==="markdown","aria-controls":"format-panel-markdown",id:"format-tab-markdown",onClick:()=>R("markdown"),className:`flex-1 px-4 py-3 rounded-md font-medium text-sm transition ${g==="markdown"?"bg-[#0052CC] text-white shadow-sm":"text-gray-600 hover:text-gray-800"}`,children:[e.jsx(Fe,{className:"inline mr-2",size:14}),"Markdown"]}),e.jsxs("button",{role:"tab","aria-selected":g==="html","aria-controls":"format-panel-html",id:"format-tab-html",onClick:()=>R("html"),className:`flex-1 px-4 py-3 rounded-md font-medium text-sm transition ${g==="html"?"bg-[#0052CC] text-white shadow-sm":"text-gray-600 hover:text-gray-800"}`,children:[e.jsx(Pe,{className:"inline mr-2",size:14}),"HTML"]}),e.jsxs("button",{role:"tab","aria-selected":g==="text","aria-controls":"format-panel-text",id:"format-tab-text",onClick:()=>R("text"),className:`flex-1 px-4 py-3 rounded-md font-medium text-sm transition ${g==="text"?"bg-[#0052CC] text-white shadow-sm":"text-gray-600 hover:text-gray-800"}`,children:[e.jsx(We,{className:"inline mr-2",size:14}),"Plain Text"]})]})}),e.jsx("div",{role:"tabpanel",id:`format-panel-${g}`,"aria-labelledby":`format-tab-${g}`,tabIndex:0,"aria-label":`Generated statement in ${g} format. Use arrow keys to scroll.`,className:"bg-[#edf2fd] p-6 pr-4 rounded-2xl max-h-[600px] overflow-y-auto mb-6 border border-border custom-scrollbar focus:outline-hidden focus:ring-2 focus:ring-blue-500 focus:ring-offset-2",style:{fontFamily:g==="html"?"inherit":"monospace",fontSize:g==="html"?"0.9rem":"0.875rem"},children:g==="html"?e.jsx("div",{className:"prose prose-sm max-w-none",dangerouslySetInnerHTML:{__html:Te.sanitize(H().replace(/^<!DOCTYPE html>[\s\S]*<body>/,"").replace(/<\/body>[\s\S]*<\/html>$/,""))},style:{fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',lineHeight:"1.6",color:"#374151"}}):e.jsx("pre",{className:"whitespace-pre-wrap text-gray-800",style:{margin:0},children:H()})}),e.jsxs("ul",{role:"list",className:"flex flex-col md:flex-row gap-4 mb-4 justify-end list-none p-0 m-0",children:[e.jsx("li",{children:e.jsxs(J,{variant:"outlined",onClick:ye,startIcon:e.jsx(Be,{}),sx:{py:1.5,borderRadius:"12px",textTransform:"none",fontSize:"1rem",fontWeight:"600",borderColor:"#0052CC",color:"#0052CC","&:focus-visible":{outline:"none !important",boxShadow:"0 0 0 3px #ffffff, 0 0 0 5px #111827, 0 4px 12px rgba(0, 82, 204, 0.25) !important"},"&:focus":{outline:"none !important",boxShadow:"0 0 0 3px #ffffff, 0 0 0 5px #111827, 0 4px 12px rgba(0, 82, 204, 0.25) !important"},"&:hover":{backgroundColor:"#f8faff",borderColor:"#003EB8"}},children:["Copy ",g.toUpperCase()]})}),e.jsx("li",{children:e.jsxs(J,{variant:"contained",onClick:we,startIcon:e.jsx(De,{}),sx:{py:1.5,borderRadius:"12px",textTransform:"none",fontSize:"1rem",fontWeight:"600",backgroundColor:"#0052CC","&:focus-visible":{outline:"none !important",boxShadow:"0 0 0 3px #ffffff, 0 0 0 5px #111827, 0 4px 12px rgba(0, 82, 204, 0.25) !important"},"&:focus":{outline:"none !important",boxShadow:"0 0 0 3px #ffffff, 0 0 0 5px #111827, 0 4px 12px rgba(0, 82, 204, 0.25) !important"},"&:hover":{backgroundColor:"#003EB8"}},children:["Download ",g.toUpperCase()]})})]})]}):e.jsxs("div",{className:"flex flex-col items-center justify-center min-h-[600px] bg-gradient-to-br from-blue-50 via-blue-50 to-indigo-50 rounded-2xl border border-border p-8",children:[e.jsx("div",{className:"relative mb-6",children:e.jsx("img",{src:et,alt:"",role:"presentation",className:"w-24 h-30 mx-auto drop-shadow-sm"})}),e.jsxs("div",{className:"text-center max-w-md",children:[e.jsx("h2",{className:"text-lg font-medium text-gray-700 mb-2 leading-relaxed",children:"Your statement will be shown here after generated"}),e.jsx("p",{className:"text-sm text-gray-700 leading-relaxed",children:'Fill in the form and click "Generate AI Statement" to create your accessibility statement'})]})]})})}),e.jsx("div",{className:"bg-white rounded-3xl shadow-lg border border-border h-fit company-form-section lg:max-w-lg max-h-[800px] overflow-y-auto custom-scrollbar focus:outline-hidden focu
321s:ring-2 focus:ring-blue-500 focus:ring-offset-2",tabIndex:0,role:"region","aria-label":"Company information form. Use arrow keys, Page Up, Page Down, Home, or End to scroll.",children:e.jsx("div",{className:"p-8",children:de?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex items-center mb-6",children:[e.jsx("button",{onClick:()=>X(!1),"aria-label":"Back",className:"mr-4 p-2 hover:bg-gray-100 rounded-lg transition-colors",children:e.jsx("svg",{className:"w-5 h-5 text-gray-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})})}),e.jsx("h2",{className:"text-2xl font-bold text-gray-900",children:"Enhance Statement"})]}),e.jsx("p",{className:"text-gray-600 mb-6",children:"Select one or more enhancement"}),e.jsxs("div",{className:"space-y-4 mb-8",children:[e.jsxs("button",{onClick:()=>q("add-testing"),className:`w-full p-4 text-left rounded-lg border-2 transition ${$.includes("add-testing")?"border-[#0052CC] bg-[#0052CC] text-white":"border-border bg-white text-gray-900 hover:border-input"}`,children:[e.jsx("div",{className:"font-medium mb-1",children:"Add testing details"}),e.jsx("div",{className:`text-sm ${$.includes("add-testing")?"text-white":"opacity-80"}`,children:"Include automated testing tools and procedures"})]}),e.jsxs("button",{onClick:()=>q("add-timeline"),className:`w-full p-4 text-left rounded-lg border-2 transition ${$.includes("add-timeline")?"border-[#0052CC] bg-[#0052CC] text-white":"border-border bg-white text-gray-900 hover:border-input"}`,children:[e.jsx("div",{className:"font-medium mb-1",children:"Add Response Time"}),e.jsx("div",{className:`text-sm ${$.includes("add-timeline")?"text-white":"opacity-80"}`,children:"Include specific response times for feedback"})]}),e.jsxs("button",{onClick:()=>q("add-training"),className:`w-full p-4 text-left rounded-lg border-2 transition ${$.includes("add-training")?"border-[#0052CC] bg-[#0052CC] text-white":"border-border bg-white text-gray-900 hover:border-input"}`,children:[e.jsx("div",{className:"font-medium mb-1",children:"Add Staff Training"}),e.jsx("div",{className:`text-sm ${$.includes("add-training")?"text-white":"opacity-80"}`,children:"Include information about accessibility training"})]}),e.jsxs("button",{onClick:()=>q("add-standards"),className:`w-full p-4 text-left rounded-lg border-2 transition ${$.includes("add-standards")?"border-[#0052CC] bg-[#0052CC] text-white":"border-border bg-white text-gray-900 hover:border-input"}`,children:[e.jsx("div",{className:"font-medium mb-1",children:"Add More Standards"}),e.jsx("div",{className:`text-sm ${$.includes("add-standards")?"text-white":"opacity-80"}`,children:"Include EN 301 549 and Section 508 compliance"})]})]})]}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"mb-8",children:[e.jsx("h2",{className:"text-2xl font-bold text-gray-900 mb-2",children:"Company Information"}),e.jsx("p",{className:"text-gray-600",children:"Fill in your details to generate a customized accessibility statement"}),e.jsx("p",{className:"text-sm text-gray-600 mt-2",role:"note","aria-label":"Required fields instruction",children:"Fields marked with an asterisk (*) are required."})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsx(E,{fullWidth:!0,label:"Company Name",name:"companyName",value:a.companyName,onChange:k("companyName"),placeholder:"Enter your company name",variant:"outlined",required:!0,error:!!y.companyName,helperText:y.companyName,inputProps:{"aria-required":!0,"aria-label":"Company Name","aria-invalid":!!y.companyName,"aria-describedby":y.companyName?"company-name-error":void 0,autoComplete:"organization",onPaste:t=>{t.stopPropagation()}},FormHelperTextProps:{id:"company-name-error",role:"alert"},sx:{"& .MuiOutlinedInput-input::placeholder":{color:"#6B7280",o
321pacity:1}}}),e.jsx(E,{fullWidth:!0,label:"Website URL",name:"websiteUrl",value:a.websiteUrl,onChange:k("websiteUrl"),placeholder:"https://example.com",variant:"outlined",required:!0,error:!!y.websiteUrl,helperText:y.websiteUrl,inputProps:{"aria-required":!0,"aria-label":"Website URL","aria-invalid":!!y.websiteUrl,"aria-describedby":y.websiteUrl?"website-url-error":void 0,autoComplete:"url",onPaste:t=>{t.stopPropagation()}},FormHelperTextProps:{id:"website-url-error",role:"alert"},sx:{"& .MuiOutlinedInput-input::placeholder":{color:"#6B7280",opacity:1}}}),e.jsx(E,{fullWidth:!0,label:"Contact Email",name:"contactEmail",value:a.contactEmail,onChange:k("contactEmail"),placeholder:"[email protected]",variant:"outlined",required:!0,error:!!y.contactEmail,helperText:y.contactEmail,inputProps:{"aria-required":!0,"aria-label":"Contact Email","aria-invalid":!!y.contactEmail,"aria-describedby":y.contactEmail?"contact-email-error":void 0,autoComplete:"email",onPaste:t=>{t.stopPropagation()}},FormHelperTextProps:{id:"contact-email-error",role:"alert"},sx:{"& .MuiOutlinedInput-input::placeholder":{color:"#6B7280",o
321pacity:1}}}),e.jsxs(Ce,{fullWidth:!0,required:!0,error:!!y.industry,children:[e.jsx($e,{id:"industry-label",children:"Industry"}),e.jsx(ke,{value:a.industry,onChange:k("industry"),label:"Industry",labelId:"industry-label",name:"industry",inputProps:{"aria-required":"true","aria-label":"Industry, required","aria-invalid":!!y.industry,"aria-describedby":y.industry?"industry-error":void 0,"aria-labelledby":"industry-label"},children:ue.map(t=>e.jsx(Ae,{value:t,children:t},t))}),y.industry&&e.jsx("p",{id:"industry-error",role:"alert",className:"MuiFormHelperText-root MuiFormHelperText-contained Mui-error",style:{margin:"3px 14px 0",fontSize:"0.75rem",color:"#d32f2f"},children:y.industry})]}),e.jsxs("div",{className:"relative language-dropdown-section",children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 mb-2",children:"Language"}),e.jsxs("div",{className:"relative",children:[e.jsxs("button",{type:"button",onClick:()=>z(!N),"aria-label":"Language selector","aria-expanded":N,"aria-haspopup":"listbox",className:"w-full px-3 py-3 text-left bg-white border border-input rounded-lg shadow-xs focus:outline-hidden focus:ring-2 focus:ring-primary focus:border-primary",children:[e.jsx("span",{className:"block truncate",children:pe}),e.jsx("span",{className:"absolute inset-y-0 right-0 flex items-center pr-3 pointer-events-none",children:e.jsx("svg",{className:"h-5 w-5",style:{color:"#767676"},viewBox:"0 0 20 20",fill:"currentColor",children:e.jsx("path",{fillRule:"evenodd",d:"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z",clipRule:"evenodd"})})})]}),N&&e.jsxs("div",{className:"absolute z-10 mt-1 w-full bg-white shadow-lg border border-input rounded-lg",children:[e.jsx("div",{className:"p-3 border-b border-border",children:e.jsx("input",{type:"text",placeholder:"Search languages...",value:P,onChange:t=>f(t.target.value),"aria-label":"Search languages",className:"w-full px-3 py-2 border border-input rounded-lg focus:outline-hidden focus:ring-2 focus:ring-primary focus:border-primary text-sm placeholder:text-gray-600"})}),e.jsxs("div",{className:"max-h-60 overflow-auto custom-scrollbar focus:outline-hidden focus:ring-2 focus:ring-blue-500 focus:ring-offset-2",tabIndex:0,role:"region","aria-label":"Language options. Use arrow keys, Page Up, Page Down, Home, or End to scroll.",children:[ie.map(t=>e.jsx("button",{type:"button",onClick:()=>{p(n=>({...n,language:t.code})),z(!1),f("")},className:`w-full text-left px-3 py-2 hover:bg-gray-100 focus:outline-hidden focus:bg-gray-100 ${a.language===t.code?"bg-primary/10 text-primary font-medium":"text-gray-900"}`,children:e.jsxs("div",{className:"flex justify-between items-center",children:[e.jsxs("span",{children:[t.name," (",t.englishName,")"]}),a.language===t.code&&e.jsx("svg",{className:"h-4 w-4 text-primary",fill:"currentColor",viewBox:"0 0 20 20",children:e.jsx("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})})]})},t.code)),ie.length===0&&e.jsx("div",{className:"px-3 py-2 text-gray-500 text-sm",children:"No languages found"})]})]})]})]}),e.jsxs("div",{className:"my-6 border-t border-border pt-6",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsx("h3",{className:"text-lg font-semibold text-gray-900",children:"Optional Information"}),e.jsx("button",{type:"button",onClick:()=>ce(!D),className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors focus:outline-hidden focus:ring-2 focus:ring-primary focus:ring-offset-2 ${D?"bg-blue-600":""}`,style:{backgroundColor:D?"#2563eb":"#878993"},"aria-label":"Toggle optional fields",children:e.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white shadow-xs transition-transform ${D?"translate-x-6":"translate-x-1"}`})})]}),D&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"mb-4",children:[e.jsxs("p",{className:"text-sm text-gray-600 mb-3",children:["Customize enhancer branding (leave empty to use",l,")"]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsx(E,{fullWidth:!0,label:"Enhancer Brand Name",value:a.widgetBrandName,onChange:k("widgetBrandName"),placeholder:l,variant:"outlined",size:"small",inputProps:{autoComplete:"organization"},sx:{"& .MuiOutlinedInput-input::placeholder":{color:"#6B7280",o
321pacity:1}}}),e.jsx(E,{fullWidth:!0,label:"Enhancer Brand URL",value:a.widgetBrandUrl,onChange:k("widgetBrandUrl"),placeholder:"https://webability.io",variant:"outlined",size:"small",inputProps:{autoComplete:"url"},sx:{"& .MuiOutlinedInput-input::placeholder":{color:"#6B7280",opacity:1}}})]})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-gray-600 mb-3",children:"Additional contact information (fields left empty will not appear in the statement)"}),e.jsxs("div",{className:"space-y-4",children:[e.jsx(E,{fullWidth:!0,label:"Phone Number",value:a.phoneNumber,onChange:k("phoneNumber"),placeholder:"+1 (555) 123-4567",variant:"outlined",size:"small",inputProps:{autoComplete:"tel"},sx:{"& .MuiOutlinedInput-input::placeholder":{color:"#6B7280",opacity:1}}}),e.jsx(E,{fullWidth:!0,label:"Online Form URL",value:a.onlineFormUrl,onChange:k("onlineFormUrl"),placeholder:"https://example.com/accessibility-feedback",variant:"outlined",size:"small",inputProps:{autoComplete:"url"},sx:{"& .MuiOutlinedInput-input::placeholder":{color:"#6B7280",o
321pacity:1}}}),e.jsx(E,{fullWidth:!0,label:"Visitor Address",value:a.visitorAddress,onChange:k("visitorAddress"),placeholder:"123 Main St, Suite 100, City, State 12345",variant:"outlined",size:"small",inputProps:{autoComplete:"street-address"},sx:{"& .MuiOutlinedInput-input::placeholder":{color:"#6B7280",opacity:1}}}),e.jsx(E,{fullWidth:!0,label:"Postal Address",value:a.postalAddress,onChange:k("postalAddress"),placeholder:"P.O. Box 123, City, State 12345",variant:"outlined",size:"small",inputProps:{autoComplete:"address-line2"},sx:{"& .MuiOutlinedInput-input::placeholder":{color:"#6B7280",opacity:1}}})]})]})]})]})]}),e.jsxs("div",{className:"generate-button-section",children:[e.jsx(J,{fullWidth:!0,variant:"contained",size:"large",onClick:he,disabled:F,startIcon:F?e.jsx(je,{size:20,color:"inherit"}):e.jsx(ze,{}),sx:{mt:4,py:2,borderRadius:"12px",textTransform:"none",fontSize:"1.1rem",fontWeight:"600",background:"#0052CC",color:"white",boxShadow:"0 4px 12px rgba(0, 82, 204, 0.25)",border:"none",position:"relative",overflow:"hidden","&:before":{content:'""',position:"absolute",top:0,left:0,right:0,height:"1px",background:"linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent)"},"&:focus-visible":{outline:"none !important",boxShadow:"0 0 0 3px #ffffff, 0 0 0 5px #111827, 0 4px 12px rgba(0, 82, 204, 0.25) !important"},"&:focus":{outline:"none !important",boxShadow:"0 0 0 3px #ffffff, 0 0 0 5px #111827, 0 4px 12px rgba(0, 82, 204, 0.25) !important"},"&:hover":{background:"#003EB8",boxShadow:"0 6px 16px rgba(0, 82, 204, 0.3)",transform:"translateY(-1px)"},"&:active":{transform:"translateY(0)",boxShadow:"0 2px 8px rgba(0, 82, 204, 0.2)"},"&:disabled":{background:"#9ca3af",transform:"none",boxShadow:"none"}},children:F?"Generating...":"Generate"}),w&&e.jsx(J,{fullWidth:!0,variant:"text",size:"medium",onClick:()=>X(!0),sx:{mt:2,py:1.5,textTransform:"none",fontSize:"0.9rem",fontWeight:"500",color:"#0052CC","&:hover":{backgroundColor:"#f8faff"}},children:"Enhance Statement"}),e.jsx("div",{className:"mt-6",children:e.jsx(Xe,{site:Ze(s||a.websiteUrl),generatedStatement:w})})]})]})})})]})]}),e.jsx(Oe,{steps:u,tourKey:Me.statementGenerator})]})};export{ft as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.