{"id":182487,"date":"2025-05-26T08:26:38","date_gmt":"2025-05-26T12:26:38","guid":{"rendered":"https:\/\/innowise.com\/?p=182487"},"modified":"2025-09-17T06:49:13","modified_gmt":"2025-09-17T10:49:13","slug":"wcag-21-aa","status":"publish","type":"post","link":"https:\/\/innowise.com\/fr\/blog\/wcag-21-aa\/","title":{"rendered":"WCAG 2.1 AA : ce que c'est, les d\u00e9lais, les exigences et les sanctions"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"182487\" class=\"elementor elementor-182487\">\n\t\t\t\t<div class=\"elementor-element elementor-element-92c6e2c main-block e-flex e-con-boxed e-con e-parent\" data-id=\"92c6e2c\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-5006985 e-con-full e-flex e-con e-child\" data-id=\"5006985\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6440a54 elementor-widget__width-initial elementor-widget elementor-widget-html\" data-id=\"6440a54\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"breadcrumbs flex\">\n    <div class=\"info\"> \n    <a href=\"https:\/\/innowise.com\/\">\n  Main\n  <\/a>\n    <\/div>\n    <div class=\"info\">\n         <a href=\"https:\/\/innowise.com\/about-us\/\">\n  About us\n  <\/a>\n    <\/div>\n     <div class=\"info\">\n          <a href=\"https:\/\/innowise.com\/blog\/\">\n  Blog\n  <\/a>\n    <\/div>\n<\/div>\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\/\", \n  \"@type\": \"BreadcrumbList\", \n  \"itemListElement\": [{\n    \"@type\": \"ListItem\", \n    \"position\": 1, \n    \"name\": \"Innowise is on Top: We Are No. 554 on Inc. 5000 Annual List\",\n    \"item\": \"https:\/\/innowise.com\/blog\/inc-5000-puts-innowise-group-among-the-fastest-growing-technology-companies-in-the-usa-2022\/\"  \n  },{\n    \"@type\": \"ListItem\", \n    \"position\": 2, \n    \"name\": \"Blog\",\n    \"item\": \"https:\/\/innowise.com\/blog\/\"  \n  },{\n    \"@type\": \"ListItem\", \n    \"position\": 3, \n    \"name\": \"Main\",\n    \"item\": \"https:\/\/innowise.com\/\"  \n  }]\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f8464d9 elementor-widget__width-initial elementor-widget-tablet__width-inherit main-h1 elementor-widget elementor-widget-heading\" data-id=\"f8464d9\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">WCAG 2.1 AA: What it is, deadlines, requirements, and penalties<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3393c15 elementor-widget__width-initial elementor-widget elementor-widget-html\" data-id=\"3393c15\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"blog-article-info\">\n    <span>\n    Dmitry Fedorov\n    <\/span>\n    <div class=\"blog-article-info_other\">\n        <span>May 26, 2025<\/span>\n        <span>18 min read<\/span>\n    <\/div>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-eeeb144 elementor-hidden-desktop elementor-hidden-tablet elementor-widget__width-inherit elementor-widget elementor-widget-image\" data-id=\"eeeb144\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"440\" height=\"330\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2025\/05\/Small-cover_WCAG-2.1-AA_-What-It-Is-Deadlines-Requirements-and-Penalties.png\" class=\"attachment-full size-full wp-image-183501\" alt=\"\" srcset=\"https:\/\/innowise.com\/wp-content\/uploads\/2025\/05\/Small-cover_WCAG-2.1-AA_-What-It-Is-Deadlines-Requirements-and-Penalties.png 440w, https:\/\/innowise.com\/wp-content\/uploads\/2025\/05\/Small-cover_WCAG-2.1-AA_-What-It-Is-Deadlines-Requirements-and-Penalties-300x225.png 300w, https:\/\/innowise.com\/wp-content\/uploads\/2025\/05\/Small-cover_WCAG-2.1-AA_-What-It-Is-Deadlines-Requirements-and-Penalties-16x12.png 16w\" sizes=\"(max-width: 440px) 100vw, 440px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8f98fe0 article-description e-flex e-con-boxed e-con e-parent\" data-id=\"8f98fe0\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-3e49c1e author-article e-con-full e-flex e-con e-child\" data-id=\"3e49c1e\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-4dee097 e-con-full e-flex e-con e-child\" data-id=\"4dee097\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bf3271b elementor-widget elementor-widget-text-editor\" data-id=\"bf3271b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Ever thought about how people with disabilities experience online shopping or social media? For most of us, it\u2019s simple \u2014 browse, click, buy, scroll, etc. But for the millions of people with disabilities worldwide, including <\/span><a href=\"https:\/\/www.cdc.gov\/disability-and-health\/articles-documents\/disabilities-health-care-access.html#:~:text=Over%2061%20million%20U.S.%20adultscollection%20for%20people%20with%20disabilities\" target=\"_blank\" rel=\"noopener nofollow\"><span style=\"font-weight: 400;\">61 million people with disabilities<\/span><\/a><span style=\"font-weight: 400;\"> living in the U.S. and <\/span><a href=\"https:\/\/businessdisabilityforum.org.uk\/resource\/the-european-accessibility-act-eaa-what-businesses-need-to-know-and-do\/\" target=\"_blank\" rel=\"noopener nofollow\"><span style=\"font-weight: 400;\">135 million people with disabilities<\/span><\/a><span style=\"font-weight: 400;\"> living in the EU, it\u2019s not always that simple. What if the \u201cBuy\u201d button wasn\u2019t accessible without a mouse? What if the text was too small to read or the videos had no captions? <\/span><span style=\"font-weight: 400;\">Shouldn\u2019t the internet work for everyone?<\/span><\/p><p><span style=\"font-weight: 400;\">This is where the Web Content Accessibility Guidelines (WCAG) come in. The <\/span><a href=\"https:\/\/eur-lex.europa.eu\/legal-content\/EN\/TXT\/?uri=CELEX%3A32019L0882\" target=\"_blank\" rel=\"noopener nofollow\"><span style=\"font-weight: 400;\">European Accessibility Act (EAA)<\/span><\/a><span style=\"font-weight: 400;\"> kicks in on June 28, 2025, giving businesses a small window to ensure that their digital products and services meet WCAG 2.1 AA accessibility standards.<\/span><\/p><p><span style=\"font-weight: 400;\">Failure to comply with these new standards could lead to fines, legal consequences, lost contracts, and severe damage to the brand&#8217;s reputation. With the deadline looming, now is the time for businesses to take action and avoid costly disruptions down the line.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0cf99a4 e-con-full e-flex e-con e-child\" data-id=\"0cf99a4\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a546e64 elementor-widget elementor-widget-text-editor\" data-id=\"a546e64\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h2>What is WCAG 2.1 AA?<\/h2><p>The <a href=\"https:\/\/www.w3.org\/TR\/WCAG21\/\" target=\"_blank\" rel=\"noopener nofollow\">Web Content Accessibility Guidelines (WCAG) 2.1, Level AA<\/a> is an international standard developed by <a href=\"https:\/\/www.w3.org\/\" target=\"_blank\" rel=\"noopener nofollow\">W3C<\/a> that outlines how to provide web content accessibility for people with disabilities. These guidelines help adapt websites and mobile apps for users with visual, hearing, motor, and cognitive impairments.<\/p><p><span style=\"font-weight: 400;\">WCAG 2.0, 2.1, and 2.2 are the previous versions of WCAG, all of which had three compliance levels:<\/span><\/p><ul><li>Level A standards \u2014 the bare minimum of compliance<\/li><li>Level AA standards \u2014 the preferred level of conformance, as defined by accessibility laws<\/li><li>Level AAA standards \u2014 the highest level of accessibility, the hardest to attain.<\/li><\/ul><p>Under the new requirements, your website or mobile app must comply with WCAG 2.1 or WCAG 2.2 Level AA standards to be considered accessible.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0d1394f e-con-full e-flex e-con e-child\" data-id=\"0d1394f\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-79a93f3 elementor-widget elementor-widget-text-editor\" data-id=\"79a93f3\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h3>\u00a0WCAG four core principles<\/h3>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4015580 elementor-widget elementor-widget-image\" data-id=\"4015580\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1000\" height=\"306\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2025\/05\/WCAG-2.1-AA_-What-It-Is-Deadlines-Requirements-and-Penalties-1.svg\" class=\"attachment-full size-full wp-image-183496\" alt=\"WCAG principles\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a6b531a elementor-widget elementor-widget-text-editor\" data-id=\"a6b531a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>1. Perceivable<\/strong><\/p><p>What does perceivable content refer to? The main idea here is to provide that non-text content \u2014 images and buttons \u2014 should have text <strong>alternatives<\/strong> to transform it further into other formats (braille or speech). Time-based media, such as videos and audio, should have accessible alternatives like captions or audio descriptions. Content should be presented in simpler forms, and input fields should be clearly identifiable. The content should also be distinguishable, with proper contrast and the ability to control audio or resize text.<\/p><p><strong>2. Operable<\/strong><\/p><p>The \u201cOperable\u201d principle aims to let users navigate and interact with all content and functionality on a website <strong>without<\/strong> the need for a mouse. Navigation between operable user interface components \u2014 buttons, links, and form fields \u2014 is possible using common keyboard commands, like the Tab key or arrow keys. This guideline also addresses the need to avoid &#8220;keyboard traps,&#8221; which can prevent users from exiting interactive components, and make sure that keyboard shortcuts are customizable or can be turned off. An important part of this principle is allowing the use of alternative input methods, such as voice commands, touchscreens, or assistive devices like joysticks, trackballs, and eye trackers.<\/p><p><strong>3. Understandable<\/strong><\/p><p>The principle ensures that the language of the page and its sections are <strong>clearly identified<\/strong>, and that unusual words, abbreviations, and pronunciations are easily understood using available mechanisms. It also means that content is presented <strong>predictably<\/strong>, with consistent navigation and interface behavior, so users can easily anticipate actions. Input assistance is equally emphasized, referring to preventing and correcting mistakes, such as clear error identification and suggestions for correction.<\/p><p><strong>4. Robust<\/strong><\/p><p>The &#8220;Robust&#8221; guideline implies creating web content that can be <strong>interpreted<\/strong> by diverse user agents, including assistive technologies. To achieve this, content should follow proper markup standards (e.g., complete tags, proper nesting, and unique IDs). User interface components should be programmatically identifiable with clear names, roles, and values, and any changes to these elements should be communicated to assistive technologies. Status messages (notifications that inform users about the result of an action) should be easily identified using specific roles or properties (like in code), so users can receive updates about actions without having to manually focus on them.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2abfbc5 elementor-widget elementor-widget-text-editor\" data-id=\"2abfbc5\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h3>Key WCAG 2.1 AA requirements under the EAA<\/h3><p>WCAG 2.1 extends the principles established in WCAG 2.0 and is designed to address the evolving needs of users with disabilities. Notably, it adds new criteria to improve accessibility for people with cognitive impairments, those with low vision, and to improve mobile accessibility.<\/p><p><a href=\"https:\/\/www.w3.org\/WAI\/WCAG22\/quickref\/?versions=2.1#principle3\" target=\"_blank\" rel=\"noopener nofollow\">WCAG 2.1 Level AA<\/a> is the recognized standard for web content accessibility, designed to keep websites and mobile apps accessible to people with disabilities. Meeting this level not only improves user experience for everyone but also reduces the risk of legal challenges related to accessibility. To comply with <strong>WCAG 2.1 Level AA<\/strong>, the following guidelines should be met.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c2f2860 e-con-full e-flex e-con e-child\" data-id=\"c2f2860\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-458bc72 custom-table table-2 elementor-widget elementor-widget-html\" data-id=\"458bc72\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n<div class=\"cust-table-wrapper\">\r\n    <table class=\"cust-table\">\r\n        \r\n        <!-- <tr class=\"cust-table__header\">\r\n            <th><strong>Principle<\/strong><\/th>\r\n            <th><strong>Guideline<\/strong><\/th>\r\n            <th><strong>Description<\/strong><\/th>\r\n        <\/tr> -->\r\n    \r\n        <tr class=\"cust-table__item\">\r\n            <td><strong>Principle 1 \u2014 Perceivable<\/strong><\/td>\r\n            <td><span>Guideline 1.1 \u2014 Text alternatives<\/span><\/td>\r\n            <td><ul>\r\n                <li>Provide a text alternative for all non-text content to ensure equivalent accessibility.<\/li>\r\n            <\/ul><\/td>\r\n        <\/tr>\r\n        \r\n        <tr class=\"cust-table__item\">\r\n            <td><\/td>\r\n            <td><span>Guideline 1.2 \u2014 Time-based media<\/span><\/td>\r\n            <td><ul>\r\n                <li>Offer alternatives for prerecorded audio-only or video-only media, unless labeled as a text alternative.<\/li>\r\n                <li>Provide captions for prerecorded audio content.<\/li>\r\n                <li>Offer audio description or media alternative for prerecorded video content.<\/li>\r\n                <li>Ensure captions for live audio content.<\/li>\r\n            <\/ul><\/td>\r\n        <\/tr>\r\n        \r\n        <tr class=\"cust-table__item\">\r\n            <td><\/td>\r\n            <td><span>Guideline 1.3 \u2014 Adaptable<\/span><\/td>\r\n            <td><ul>\r\n                <li>Provide that content structure and relationships are coded clearly or available as text for assistive technologies.<\/li>\r\n                <li>Provide that content follows a logical reading order that assistive technologies can interpret correctly.<\/li>\r\n                <li>Avoid relying solely on sensory characteristics like shape, color, or sound for instructions.<\/li>\r\n                <li>Content should be usable in both portrait and landscape orientations unless one is essential.<\/li>\r\n                <li>Ensure input fields are clearly identified by their purpose.<\/li>\r\n            <\/ul><\/td>\r\n        <\/tr>\r\n        \r\n        <tr class=\"cust-table__item\">\r\n            <td><\/td>\r\n            <td><span>Guideline 1.4 \u2014 Distinguishable<\/span><\/td>\r\n            <td><ul>\r\n                <li>Don't rely solely on color to convey information or actions.<\/li>\r\n                <li>Offer a way to pause or control audio that plays automatically for more than 3 seconds.<\/li>\r\n                <li>Ensure text and images of text have a contrast ratio of at least 4.5:1.<\/li>\r\n                <li>Allow text to be resized up to 200% without losing content or functionality.<\/li>\r\n                <li>Avoid using images of text when possible.<\/li>\r\n                <li>Ensure content remains functional without two-dimensional scrolling.<\/li>\r\n                <li>Ensure non-text elements have a contrast ratio of at least 3:1 against adjacent colors.<\/li>\r\n                <li>Allow text style adjustments without loss of content or functionality.<\/li>\r\n                <li>Ensure hover- or focus-triggered content is manageable and dismissible.<\/li>\r\n            <\/ul><\/td>\r\n        <\/tr>\r\n        \r\n        <tr class=\"cust-table__item\">\r\n            <td><strong>Principle 2 \u2014 Operable<\/strong><\/td>\r\n            <td><span>Guideline 2.1 \u2014 Keyboard accessible<\/span><\/td>\r\n            <td><ul>\r\n                <li>Ensure all content is operable via keyboard without specific timing requirements.<\/li>\r\n                <li>Prevent keyboard traps and ensure focus can be moved away using the keyboard.<\/li>\r\n                <li>If keyboard shortcuts use characters, users must be able to disable, remap, or avoid them.<\/li>\r\n            <\/ul><\/td>\r\n        <\/tr>\r\n        \r\n        <tr class=\"cust-table__item\">\r\n            <td><\/td>\r\n            <td><span>Guideline 2.2 \u2014 Enough time<\/span><\/td>\r\n            <td><ul>\r\n                <li>For any time limit set by content, users must be able to adjust it.<\/li>\r\n                <li>For moving, blinking, scrolling, or auto-updating content, users must be able to pause, stop, or hide it.<\/li>\r\n            <\/ul><\/td>\r\n        <\/tr>\r\n        \r\n        <tr class=\"cust-table__item\">\r\n            <td><\/td>\r\n            <td><span>Guideline 2.3 \u2014 Seizures and physical reactions<\/span><\/td>\r\n            <td><ul>\r\n                <li>Avoid content that flashes more than three times per second, or ensure it\u2019s below the flash threshold.<\/li>\r\n            <\/ul><\/td>\r\n        <\/tr>\r\n        \r\n        <tr class=\"cust-table__item\">\r\n            <td><\/td>\r\n            <td><span>Guideline 2.4 \u2014 Navigable<\/span><\/td>\r\n            <td><ul>\r\n                <li>Provide a way to bypass repeated content on multiple pages.<\/li>\r\n                <li>Ensure web pages have titles that describe their topic or purpose.<\/li>\r\n                <li>Ensure focusable elements receive focus in a logical order that preserves meaning and functionality.<\/li>\r\n                <li>Ensure each link's purpose is clear from its text or context.<\/li>\r\n                <li>Provide multiple ways to locate a page within a set of pages, except for process steps.<\/li>\r\n                <li>Ensure headings and labels clearly describe their topic or purpose.<\/li>\r\n                <li>Ensure a visible keyboard focus indicator for all keyboard-operable interfaces.<\/li>\r\n            <\/ul><\/td>\r\n        <\/tr>\r\n        \r\n        <tr class=\"cust-table__item\">\r\n            <td><\/td>\r\n            <td><span>Guideline 2.5 \u2014 Input modalities<\/span><\/td>\r\n            <td><ul>\r\n                <li>Enable single-pointer operation for gestures unless essential.<\/li>\r\n                <li>Allow users to cancel actions with a single pointer.<\/li>\r\n                <li>Ensure UI component labels match visible text.<\/li>\r\n                <li>Allow motion actions via UI components and disable motion response to prevent accidental activation.<\/li>\r\n            <\/ul><\/td>\r\n        <\/tr>\r\n        \r\n        <tr class=\"cust-table__item\">\r\n            <td><strong>Principle 3 \u2014 Understandable<\/strong><\/td>\r\n            <td><span>Guideline 3.1 \u2014 Readable<\/span><\/td>\r\n            <td><ul>\r\n                <li>Ensure the default language of the web page is programmatically identifiable.<\/li>\r\n                <li>Ensure the language of each passage or phrase is identifiable in code, except for proper names and technical terms.<\/li>\r\n            <\/ul><\/td>\r\n        <\/tr>\r\n        \r\n        <tr class=\"cust-table__item\">\r\n            <td><\/td>\r\n            <td><span>Guideline 3.2 \u2014 Predictable<\/span><\/td>\r\n            <td><ul>\r\n                <li>Focus on UI components shouldn\u2019t change the context.<\/li>\r\n                <li>Changing UI settings shouldn\u2019t change context without prior notice.<\/li>\r\n                <li>Keep navigation order consistent across pages.<\/li>\r\n                <li>Maintain consistent identification for components with the same function.<\/li>\r\n            <\/ul><\/td>\r\n        <\/tr>\r\n        \r\n        <tr class=\"cust-table__item\">\r\n            <td><\/td>\r\n            <td><span>Guideline 3.3 \u2014 Input assistance<\/span><\/td>\r\n            <td><ul>\r\n                <li>Allow automatic error detection and a text description of the error.<\/li>\r\n                <li>Provide labels or instructions when user input is required.<\/li>\r\n                <li>Offer suggestions for correcting input errors, unless it would compromise security or the purpose.<\/li>\r\n                <li>Implement measures to prevent errors in legal, financial, or data-modifying actions.<\/li>\r\n            <\/ul><\/td>\r\n        <\/tr>\r\n        \r\n        <tr class=\"cust-table__item\">\r\n            <td><strong>Principle 4 \u2014 Robust<\/strong><\/td>\r\n            <td><span>Guideline 4.1 \u2014 Compatible<\/span><\/td>\r\n            <td><ul>\r\n                <li>Ensure elements have complete tags, proper nesting, unique IDs, and no duplicates.<\/li>\r\n                <li>Make names, roles, states, and values of UI components programmatically accessible.<\/li>\r\n                <li>Ensure status messages can be programmatically detected by user agents and assistive technologies, and accessible without focus.<\/li>\r\n            <\/ul><\/td>\r\n        <\/tr>\r\n    <\/table>\r\n<\/div>\r\n\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-94c48e2 elementor-widget elementor-widget-html\" data-id=\"94c48e2\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<button class=\"serv-grid__toggle-button\">\n    <span class=\"toggle-button_label--show\">Show more<\/span>\n    <span class=\"toggle-button_label--hide\">Show less<\/span>\n<\/button>\n\n<script>\n\"use strict\"\n    \nclass ItemHideButton {\n    constructor(options) {\n        this.init(options)\n    }\n\n    init(options) {\n        const { button, itemsToHide, hiddenItemClass, hiddenButtonLabelClass, numItemsToStayVisible, hideLabel, showLabel, container } = options;\n        \n        this.container = container;\n        this.button = button\n\n        this.hideLabel = hideLabel\n        this.showLabel = showLabel\n\n        this.numItemsToStayVisible = numItemsToStayVisible;\n        this.hiddenItemClass = hiddenItemClass;\n        this.hiddenButtonLabelClass = hiddenButtonLabelClass;\n\n\n        this.controlledItems = [...itemsToHide]\n\n        this.connectButton()\n\n        this.hideItems()\n    }\n\n    reset() {\n        this.controlledItems.forEach((item => item.classList.remove(this.hiddenItemClass)))\n        this.button.removeEventListener(this.clickEventListenner);\n    }\n\n    reInit(options) {\n        this.reset()\n        this.init(options)\n    }\n\n    hideItems() {\n        this.itemsHidden = true;\n        this.controlledItems.slice(this.numItemsToStayVisible).forEach((item => item.classList.add(this.hiddenItemClass)))\n    }\n    showItems() {\n        this.itemsHidden = false;\n        this.controlledItems.slice(this.numItemsToStayVisible).forEach((item => item.classList.remove(this.hiddenItemClass)))\n    }\n\n    connectButton(observerOptions) {\n        this.hideLabel.classList.add(this.hiddenButtonLabelClass)\n\n        this.clickEventListenner = () => {\n\n            if (this.itemsHidden) {\n                this.showItems()\n            } else {\n                const initialHeight = this.container.getBoundingClientRect().height;\n\n                this.hideItems()\n\n                const newHeight = this.container.getBoundingClientRect().height\n\n                window.scrollBy({\n                    left: 0,\n                    top: newHeight - initialHeight,\n                    behavior: \"instant\"\n                });\n            }\n\n            this.hideLabel.classList.toggle(this.hiddenButtonLabelClass)\n            this.showLabel.classList.toggle(this.hiddenButtonLabelClass)\n        }\n\n        this.button.addEventListener(\"click\", this.clickEventListenner);\n    }\n\n}\n<\/script>\n\n<script>\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n    const button = new ItemHideButton(\n        { \n            button:document.querySelector(\".serv-grid__toggle-button\"),\n            hideLabel: document.querySelector(\".serv-grid__toggle-button .toggle-button_label--hide\"), \n            showLabel: document.querySelector(\".serv-grid__toggle-button .toggle-button_label--show\"),\n            \n            itemsToHide:document.querySelectorAll(\".table-2 .cust-table__item\"), \n            \n            hiddenItemClass: \"hidden\", \n            hiddenButtonLabelClass: \"hidden\", \n            \n            numItemsToStayVisible: 4, \n            \n            \n            container: document.querySelector(\".table-2 .cust-table-wrapper\")\n        }\n    )\n})\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3f515bf e-con-full e-flex e-con e-child\" data-id=\"3f515bf\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-81d3397 elementor-widget elementor-widget-text-editor\" data-id=\"81d3397\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Accessibility is not just a feature, it\u2019s a fundamental right. Enabling equal access to digital content means empowering every individual to fully connect, participate, and thrive in the digital world.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b81f120 e-grid e-con-full e-con e-child\" data-id=\"b81f120\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-29283e2 elementor-widget elementor-widget-image\" data-id=\"29283e2\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"100\" height=\"100\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2025\/04\/Rectangle-34624319.png\" class=\"attachment-full size-full wp-image-182183\" alt=\"\" srcset=\"https:\/\/innowise.com\/wp-content\/uploads\/2025\/04\/Rectangle-34624319.png 100w, https:\/\/innowise.com\/wp-content\/uploads\/2025\/04\/Rectangle-34624319-12x12.png 12w\" sizes=\"(max-width: 100px) 100vw, 100px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b1c9aa4 e-con-full e-flex e-con e-child\" data-id=\"b1c9aa4\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0562a53 quoter elementor-widget elementor-widget-text-editor\" data-id=\"0562a53\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/innowise.com\/authors\/dmitry-nazarevich\/\"><strong>Dmitry Nazarevich<\/strong><\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4c99f9f quoter-pos elementor-widget elementor-widget-text-editor\" data-id=\"4c99f9f\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p class=\"grey\">Chief Technology Officer<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8023a9a e-con-full e-flex e-con e-child\" data-id=\"8023a9a\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1736116 elementor-widget elementor-widget-text-editor\" data-id=\"1736116\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h2>The risks of non-compliance<\/h2><p>Non-compliance with the WCAG can lead to significant risks. The primary areas in which businesses and organizations might encounter negative consequences are listed below.<\/p><h3>Legal risks: lawsuits, fines, and regulatory enforcement<\/h3><p><span style=\"font-weight: 400;\">Many jurisdictions, including the <\/span><strong>EU, the U.S., the UK, and Canada<\/strong><span style=\"font-weight: 400;\">, enforce digital accessibility laws.<\/span><\/p><ul><li style=\"font-weight: 400;\" aria-level=\"1\">EU: <a href=\"https:\/\/eur-lex.europa.eu\/eli\/dir\/2016\/2102\/oj\" target=\"_blank\" rel=\"noopener nofollow\">The Web Accessibility Directive<\/a> (WAD) and <a href=\"https:\/\/eur-lex.europa.eu\/legal-content\/EN\/TXT\/?uri=CELEX%3A32019L0882\" target=\"_blank\" rel=\"noopener nofollow\">the European Accessibility Act<\/a> impose strict requirements for public sector websites.<\/li><li style=\"font-weight: 400;\" aria-level=\"1\">U.S.: <a href=\"https:\/\/www.ada.gov\/\" target=\"_blank\" rel=\"noopener nofollow\">The Americans with Disabilities Act<\/a> (ADA) and <a href=\"https:\/\/www.section508.gov\/\" target=\"_blank\" rel=\"noopener nofollow\">Section 508<\/a> mandate accessibility for websites and digital services, with lawsuits as a significant enforcement mechanism.<\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">UK: <\/span><a href=\"https:\/\/www.legislation.gov.uk\/ukpga\/2010\/15\/contents\" target=\"_blank\" rel=\"noopener nofollow\"><span style=\"font-weight: 400;\">The Equality Act<\/span><\/a><span style=\"font-weight: 400;\"> and the Public Sector Bodies regulations require accessible websites for public bodies, with ongoing enforcement of WCAG standards.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Canada: <\/span><a href=\"https:\/\/laws-lois.justice.gc.ca\/eng\/acts\/a-0.6\/\" target=\"_blank\" rel=\"noopener nofollow\"><span style=\"font-weight: 400;\">The Accessible Canada Act <\/span><\/a><span style=\"font-weight: 400;\">and provincial laws like the <\/span><a href=\"https:\/\/www.aoda.ca\/\" target=\"_blank\" rel=\"noopener nofollow\"><span style=\"font-weight: 400;\">Accessibility for Ontarians with Disabilities Act<\/span><\/a><span style=\"font-weight: 400;\"> (AODA) require that websites be made accessible, with potential legal action for non-compliance.<\/span><\/li><\/ul><p><span style=\"font-weight: 400;\">Under the European Accessibility Act (EAA), enforcing fines falls to each member state&#8217;s advisory organization. In Ireland, for instance, this role is taken by <\/span><a href=\"https:\/\/nda.ie\/\" target=\"_blank\" rel=\"noopener nofollow\"><span style=\"font-weight: 400;\">the National Disability Authority<\/span><\/a><span style=\"font-weight: 400;\">, and the potential penalties for non-compliance are steep. In case the company gets the summary conviction, they will be liable to pay a fine amounting to \u20ac5,000 along with 6 months of imprisonment. For more serious breaches, indictable convictions carry even harsher consequences, with penalties reaching \u20ac60,000.<\/span><\/p><p><span style=\"font-weight: 400;\">As you may see, the enforcement of digital accessibility laws has become a growing priority, and failing to comply can lead to legal consequences, including lawsuits, fines, and reputational damage.<\/span><\/p><h4>Regulatory penalties and market restrictions<\/h4><p>While fines for non-compliance vary by country, enforcement is anticipated to be as strict as GDPR, with severe penalties for failure to meet accessibility requirements. Thus, starting in June 2025, businesses offering digital products and services in the EU must meet accessibility standards. Non-compliance can lead to market restrictions, meaning companies may not be allowed to operate in the EU market.<\/p><h4>Settlement costs<\/h4><p>Many organizations end up settling accessibility lawsuits, resulting in financial compensation to plaintiffs or mandatory remediation of digital content, which is costly if done reactively. High-profile cases, such as those involving Domino&#8217;s Pizza and Netflix, demonstrate the growing trend of courts ruling in favor of accessibility claims. <a href=\"https:\/\/adasoutheast.org\/legal\/court\/robles-v-dominos-pizza-llc\/\" target=\"_blank\" rel=\"noopener nofollow\">In Domino&#8217;s case<\/a>, the U.S. Supreme Court allowed a decision that found the company&#8217;s website and app violated <a href=\"https:\/\/www.ada.gov\/\" target=\"_blank\" rel=\"noopener nofollow\">the Americans with Disabilities Act<\/a>. Similarly, <a href=\"https:\/\/clearinghouse.net\/case\/12205\/\" target=\"_blank\" rel=\"noopener nofollow\">Netflix<\/a> reached a settlement with the National Association of the Deaf (NAD), agreeing to provide closed captions for all its video content. These cases highlight the increasing legal pressure on businesses to ensure their digital platforms are accessible to people with disabilities.<\/p><h3>Financial risks: the hidden cost of inaccessibility<\/h3><p><span style=\"font-weight: 400;\">Neglecting digital accessibility can result in costs beyond legal consequences; this negligence leads to a domino effect that adversely impacts the company&#8217;s revenue in multiple ways. The financial repercussions of inaccessibility are always ignored until it&#8217;s too late.<\/span><\/p><h4>Legal costs<\/h4><p><span style=\"font-weight: 400;\">Taking a company to court over accessibility issues means a substantial financial toll for such a company. Legal expenses usually involve attorney&#8217;s fees, expert consultations, and court activities, which can all sap resources. Fines from regulations such as the EAA in Europe or the ADA in the U.S. only add to the financial burden.<\/span><\/p><h4>Remediation costs<\/h4><p><span style=\"font-weight: 400;\">When companies receive complaints or face legal action, they often have to overhaul their entire digital infrastructure \u2014 websites, mobile apps, and more \u2014 to meet accessibility standards. This reactive remediation is costly because it often requires developers and designers to revisit and redesign work that has already been completed. What adds more pain here is that reworking existing designs can lead to delays and financial setbacks.<\/span><\/p><h4>Lost revenue and market exclusion<\/h4><p><span style=\"font-weight: 400;\">Now, let&#8217;s go a little further from the moral aspect and the issue of losing money and look closer at which opportunities a company misses when deciding to step onto a road of inaccessibility. With <\/span><a href=\"https:\/\/businessdisabilityforum.org.uk\/resource\/the-european-accessibility-act-eaa-what-businesses-need-to-know-and-do\/\" target=\"_blank\" rel=\"noopener nofollow\"><span style=\"font-weight: 400;\">135 million people<\/span><\/a><span style=\"font-weight: 400;\"> in the EU alone living with disabilities and <\/span><a href=\"https:\/\/www.thevaluable500.com\/wp-content\/uploads\/2022\/05\/The-Valuable-Truth-2022.pdf\" target=\"_blank\" rel=\"noopener nofollow\"><span style=\"font-weight: 400;\">the disabled U.S. community<\/span><\/a><span style=\"font-weight: 400;\"> that has a huge economic impact, with $8 trillion in disposable income each year and $13 trillion, companies that fail to provide accessible digital experiences are passing up a potentially large market segment.\u00a0<\/span><\/p><p><span style=\"font-weight: 400;\">Furthermore, government agencies and major enterprises increasingly require that vendors meet accessibility compliance before entering into contracts. Fail to meet these requirements? Expect reduced revenue streams. That&#8217;s the reality.<\/span><\/p><p><span style=\"font-weight: 400;\">Not even agencies and enterprises are on the lookout. Search engines, like <\/span><a href=\"https:\/\/www.google.com\/accessibility\/initiatives-research\/\" target=\"_blank\" rel=\"noopener nofollow\"><span style=\"font-weight: 400;\">Google<\/span><\/a>,<span style=\"font-weight: 400;\"> are increasingly considering accessibility when determining which position to place a website. Improperly optimized for accessibility websites or apps may drop their search rankings, meaning fewer website or app visits, falling sales, and lower engagement. At the end of the day, it all adds up to financial setbacks.<\/span><\/p><h3>Reputational risks<\/h3><p><span style=\"font-weight: 400;\">Accessibility is inherently tied to brand reputation. A single lawsuit or viral complaint can unleash a swathe of extra costs, from legal fees to crisis management.<\/span><\/p><h4>Negative publicity and social media backlash<\/h4><p><span style=\"font-weight: 400;\">Accessibility lawsuits rarely stay locked in the courtroom. With social media spread, brands now operate under constant scrutiny, and failing to meet accessibility standards can inevitably trigger a PR nightmare. One frustrated post wherever can unleash a wave of backlash. Once the spotlight is on, a deep comprehension of accessibility won&#8217;t be enough to repair the damage. The negative attention overshadows a company&#8217;s achievements, no matter how big they are.<\/span><\/p><h4>Loss of customer trust<\/h4><p><span style=\"font-weight: 400;\">Today&#8217;s consumers scour the marketplace for brands that prioritize inclusivity. When companies fail to provide accessible digital experiences, they risk alienating these highly engaged consumers, as in this case, they &#8220;send the message&#8221; that inclusivity is an afterthought rather than a priority. Once trust is broken, there&#8217;s more to it than meets the eye. It&#8217;s not just about losing a sale \u2014 it&#8217;s about losing a loyal customer base. And it&#8217;s a much bigger loss.<\/span><\/p><h4>Competitive disadvantage<\/h4><p><span style=\"font-weight: 400;\">Brands that invest in crisp user experiences designed for inclusivity don\u2019t just meet legal standards; they unleash their customer data, tapping into an audience that many competitors overlook. On the flip side, brands that neglect accessibility wrestle with customer drop-off and look elsewhere for solutions when competitors have already figured it out. Just check your site or mobile app accessibility to validate you&#8217;re not disregarding something vital.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-431e050 e-con-full e-flex e-con e-child\" data-id=\"431e050\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f545a31 elementor-widget elementor-widget-text-editor\" data-id=\"f545a31\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h2>How to achieve WCAG 2.1 AA compliance before the deadline<\/h2>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-36a0bc7 elementor-widget elementor-widget-image\" data-id=\"36a0bc7\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"362\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2025\/05\/WCAG-2.1-AA_-What-It-Is-Deadlines-Requirements-and-Penalties-2.svg\" class=\"attachment-full size-full wp-image-183497\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4c1228e elementor-widget elementor-widget-text-editor\" data-id=\"4c1228e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h3>1. Conduct an accessibility audit<\/h3><p><span style=\"font-weight: 400;\">Scour your website or mobile app and digital assets for accessibility gaps. Automated tools like <\/span><a href=\"https:\/\/www.deque.com\/axe\/\" target=\"_blank\" rel=\"noopener nofollow\"><span style=\"font-weight: 400;\">axe<\/span><\/a><span style=\"font-weight: 400;\">, <\/span><a href=\"https:\/\/wave.webaim.org\/\" target=\"_blank\" rel=\"noopener nofollow\"><span style=\"font-weight: 400;\">WAVE<\/span><\/a><span style=\"font-weight: 400;\">, <\/span><a href=\"https:\/\/chromewebstore.google.com\/detail\/lighthouse\/blipmdconlkpinefehnmjammfjpmpbjk?pli=1\" target=\"_blank\" rel=\"noopener nofollow\"><span style=\"font-weight: 400;\">Lighthouse<\/span><\/a><span style=\"font-weight: 400;\">, Accessibility Inspector (<\/span><a href=\"https:\/\/developer.apple.com\/documentation\/accessibility\/accessibility-inspector\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">for iOS<\/span><\/a><span style=\"font-weight: 400;\">), Accessibility Scanner (<\/span><a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.google.android.apps.accessibility.auditor&amp;hl=de\" target=\"_blank\" rel=\"noopener nofollow\"><span style=\"font-weight: 400;\">for Android<\/span><\/a><span style=\"font-weight: 400;\">) can help identify issues, but a manual review by accessibility experts is essential for a nuanced practice.<\/span><\/p><ul><li style=\"font-weight: 400;\" aria-level=\"1\">Evaluate websites, mobile apps, and digital content against WCAG 2.1 AA criteria.<\/li><li style=\"font-weight: 400;\" aria-level=\"1\">Use automated testing tools, manual evaluations, and user testing with assistive technologies.<\/li><li style=\"font-weight: 400;\" aria-level=\"1\">Identify gaps in navigation, contrast, content structure, and interactive elements.<\/li><\/ul><h3>2. Implement required fixes<\/h3><p>Prioritize high-impact barriers that prevent users with disabilities from navigating your site \u2014 think missing alt text, poor color contrast, or inaccessible forms. A solid grasp of WCAG guidelines will guide this process. Here\u2019s a brief WCAG accessibility checklist:<\/p><ul><li style=\"font-weight: 400;\" aria-level=\"1\">Provide audio descriptions for video content.<\/li><li style=\"font-weight: 400;\" aria-level=\"1\">Allow users to view content in either screen orientation unless a specific one is required.<\/li><li style=\"font-weight: 400;\" aria-level=\"1\">Maintain a contrast ratio of at least 4.5:1 between text and background (3:1 for large or bold text).<\/li><li style=\"font-weight: 400;\" aria-level=\"1\">Ensure text can be resized to 200% without losing content or functionality.<\/li><li style=\"font-weight: 400;\" aria-level=\"1\">Make your website or mobile app responsive for seamless navigation.<\/li><li style=\"font-weight: 400;\" aria-level=\"1\">Use clear headings and labels for easy content discovery.<\/li><li style=\"font-weight: 400;\" aria-level=\"1\">Indicate language changes in the code for screen readers.<\/li><li style=\"font-weight: 400;\" aria-level=\"1\">Keep menus, icons, and buttons consistent across pages.<\/li><li style=\"font-weight: 400;\" aria-level=\"1\">Ensure text spacing adjustments don\u2019t break functionality.<\/li><\/ul><h3>3. Train internal teams on accessibility<\/h3><p>Build accessibility into your design and <a href=\"https:\/\/innowise.com\/services\/web-development\/\">development<\/a> sprints. Train teams to create experiences that support assistive tech and guarantee a crisp user experience for all.<\/p><ul><li style=\"font-weight: 400;\" aria-level=\"1\">Developers should adopt accessible coding practices.<\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/innowise.com\/services\/ui-ux-design\/\">UX\/UI designers<\/a> should implement inclusive design principles for visual elements.<\/li><li style=\"font-weight: 400;\" aria-level=\"1\">Content creators should use clear, structured, and easy-to-read formats.<\/li><\/ul><h3>4. Establish ongoing compliance measures<\/h3><p>Compliance isn\u2019t a one-and-done deal. Regular testing, employee training, and updates will prevent accessibility issues from creeping back in.<\/p><ul><li style=\"font-weight: 400;\" aria-level=\"1\">Conduct regular accessibility testing as part of development cycles.<\/li><li style=\"font-weight: 400;\" aria-level=\"1\">Stay updated on new WCAG and legal requirements.<\/li><li style=\"font-weight: 400;\" aria-level=\"1\">Publish an accessibility statement outlining compliance efforts.<\/li><\/ul><h3>5. Consult experts if needed<\/h3><p>If you\u2019re wrestling with compliance challenges, an accessibility consultant can help you switch over to better support before the deadline hits.<\/p><ul><li style=\"font-weight: 400;\" aria-level=\"1\">Look for experts with experience in WCAG 2.1 AA and relevant industries.<\/li><li style=\"font-weight: 400;\" aria-level=\"1\">Verify their case studies and client reviews.<\/li><li aria-level=\"1\"><a href=\"https:\/\/innowise.com\/services\/it-consulting\/\">Choose the consultant<\/a> who best matches your project requirements and budget.<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8fe7c31 e-con-full e-flex e-con e-child\" data-id=\"8fe7c31\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b272f72 elementor-widget elementor-widget-text-editor\" data-id=\"b272f72\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h2>How Innowise can help your business get WCAG 2.1 certification<\/h2><p>Making your website accessible isn\u2019t only a legal requirement now. Primarily, it\u2019s about creating an ultra-responsive business that welcomes every customer, maximizes conversions, and guarantees zero missed opportunities. Our team can help you capitalize on your digital presence with a strategic and structured approach.<\/p><h4>1. Web accessibility audit<\/h4><p>A firm understanding of your site&#8217;s or mobile app\u2019s current accessibility gaps is paramount, so we start by identifying the most glaring customer pain points. The initial assessment includes checking for WCAG 2.1 AA compliance, reviewing navigation ease, and identifying issues that could hinder users with disabilities. The result of our audit is a clear roadmap with the exact gaps that need to be fixed. No guesswork!<\/p><h4>2. Code remediation<\/h4><p>Next, we&#8217;ll implement the necessary tech fixes identified in the previous stage. It may cover proper semantic HTML structure, compatibility with <a href=\"https:\/\/www.instagram.com\/blindonthemove\/reel\/C4da6iFr9ZN\/\" target=\"_blank\" rel=\"noopener nofollow\">screen readers<\/a>, keyboard navigation, and other assistive technologies.<\/p><p>For most websites, a large portion of the work revolves around adding labels and tags that screen readers can recognize. These elements are crucial for making content accessible to visually impaired users. To illustrate this, take a look at how blind people use Instagram with the help of screen readers.<\/p><h4>3. Design adjustments<\/h4><p>Users shouldn&#8217;t struggle with poor contrast, unclear navigation, or inconsistent layouts of visual elements. We&#8217;ll refine color contrast, adjust font readability, and simplify navigation elements to guarantee that users of all abilities can interact with your content comfortably.<\/p><h4>Testing &amp; validation<\/h4><p>How can you be sure your site or mobile app is truly accessibility supported? <a href=\"https:\/\/innowise.com\/hire-developers\/qa-engineers\/\" target=\"_blank\" rel=\"noopener\">Our team will test<\/a> it rigorously using assistive technologies, real user feedback, and compliance checkers to validate every update. We&#8217;ll simulate different user experiences to validate compliance and confirm that all features remain functional and intuitive.<\/p><h4>Ongoing compliance support<\/h4><p>As accessibility standards evolve and the new W2C accessibility checklists emerge, your website or mobile app should adapt to stay compliant. We provide ongoing support to help you stay ahead, armed with these consumer insights, to keep your digital presence inclusive and future-proof.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b6ac00e elementor-widget elementor-widget-text-editor\" data-id=\"b6ac00e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h2>Conclusion<\/h2><p>With the WCAG 2.1 AA deadline fast approaching, businesses that take action now will avoid potential setbacks later on. It\u2019s also important to note that meeting compliance standards goes beyond the legal, financial and reputational risks too. Primarily, it&#8217;s about building a brand that genuinely welcomes everyone and delivers an equally delightful experience for everyone.<\/p><p>Don&#8217;t hit walls over accessibility \u2014 speak to our experts today and get ahead.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-26b1173 e-con-full e-flex e-con e-child\" data-id=\"26b1173\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c041831 elementor-widget elementor-widget-shortcode\" data-id=\"c041831\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">[post_share]<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-733046d e-con-full tablePadding40 e-flex e-con e-child\" data-id=\"733046d\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-bcfa687 e-grid e-con-full e-con e-child\" data-id=\"bcfa687\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-32291ff elementor-widget elementor-widget-image\" data-id=\"32291ff\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"100\" height=\"100\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2025\/04\/Rectangle-34624332-1.png\" class=\"attachment-full size-full wp-image-182165\" alt=\"\" srcset=\"https:\/\/innowise.com\/wp-content\/uploads\/2025\/04\/Rectangle-34624332-1.png 100w, https:\/\/innowise.com\/wp-content\/uploads\/2025\/04\/Rectangle-34624332-1-12x12.png 12w\" sizes=\"(max-width: 100px) 100vw, 100px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0a21470 e-con-full e-flex e-con e-child\" data-id=\"0a21470\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-1bddf04 e-con-full e-flex e-con e-child\" data-id=\"1bddf04\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-beb8ef5 elementor-widget elementor-widget-heading\" data-id=\"beb8ef5\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">Dmitry Fedorov<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3607756 elementor-widget elementor-widget-text-editor\" data-id=\"3607756\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Head of Web Development<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b6ea037 e-con-full e-flex e-con e-child\" data-id=\"b6ea037\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d96a0cb text4String elementor-widget elementor-widget-text-editor\" data-id=\"d96a0cb\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Dmitry sees the big picture in web development. He\u2019s not just about performance or scale (though those matter) \u2014 he\u2019s focused on building digital foundations that feel modern today and stay reliable tomorrow, no matter how fast things grow.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b9278ad table-content-container e-con-full e-flex e-con e-child\" data-id=\"b9278ad\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-20b9f09 e-con-full stickyTable e-flex e-con e-child\" data-id=\"20b9f09\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-92e960e author-block e-con-full e-flex e-con e-child\" data-id=\"92e960e\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-962f0e4 ddcv elementor-widget elementor-widget-html\" data-id=\"962f0e4\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n\r\n.article-description > .e-con-inner{\r\n     align-items: baseline !important;\r\n}\r\n\r\n.table-content-container {\r\n    position: sticky;\r\n    top: 72px;\r\n    bottom: auto;   \r\n}  \r\n\r\n<\/style>\r\n\r\n<script>\r\ndocument.addEventListener(\"DOMContentLoaded\", ()=>{\r\n        \r\nconst headerElement = document.querySelector(\".new-menu\");\r\n\r\nconst stickyElement = document.querySelector(\".table-content-container\");\r\n\r\nconst headerElementH = headerElement.clientHeight;\r\n\r\nstickyElement.style.top =  headerElementH + 60 + \"px\"\r\n        \r\n});\r\n<\/script>\r\n\r\n\r\n<!--NOTE Change data-id in wrapper styles for hide this block on the mobile device screen-->\r\n<div class=\"toc-wrapper\">\r\n  <h3 class=\"toc-title\">Table of contents<\/h3>\r\n  <div class=\"toc toc-2\"><\/div>\r\n<\/div>\r\n\r\n<script>\r\n  \/\/NOTE Add the value from h2 as the key and the text you want to display as the key value in LINKS variable:\r\n  \/\/   const LINKS = {\r\n  \/\/       \"The demand for retail digital transformation\": \"The demand\"\r\n  \/\/   }\r\n\r\n  \r\n  \/\/NOTE Add the value from h2 as the key and the text you want to display as the key value in LINKS variable:\r\n  \/\/   const LINKS = {\r\n  \/\/       \"The demand for retail digital transformation\": \"The demand\"\r\n  \/\/   }\r\n\r\n  const LINKS = {\r\n    \"Unleashing the power of .NET 8\": \"gggggg\",\r\n    \"Revamping legacy systems: unlocking business potential through software modernization\":\r\n      \"hello\",\r\n  };\r\n\r\n  const OFFSET = 70;\r\n   const PADDING_BOTTOM_FOR_SCROLL = 100;\r\n  let headerList = [];\r\n  let allLinks = [];\r\n  \r\n  let ticking = false;\r\n     \r\n\r\n  const createList = () => {\r\n      \r\n      console.log('create');\r\n      \r\n      \r\n    const tocTarget = document.querySelector(\".toc.toc-2\");\r\n    const toc = document.createElement(\"ul\");\r\n    \r\n    \r\n    \r\n     headerList = [...document.querySelectorAll(\"h2\")];\r\n\r\n\r\n    \r\n    headerList = headerList.slice(0, -3);\r\n    \r\n    const filteredNodes = [document.querySelector(\".related_content_blog_container h2\")]\r\n    \r\n    headerList = headerList.filter((node)=> !filteredNodes.includes(node))\r\n    \r\n    \r\n   headerList.forEach((header,index) => {\r\n      const headerId = header.getAttribute(\"id\");\r\n      const headerText =\r\n        header.dataset.title && header.dataset.title !== \"\"\r\n          ? header.dataset.title\r\n          : header.textContent;\r\n          \r\n\r\n      const headerTocText = header.dataset.title;\r\n\r\n      const idFromText =\r\n        !headerId || headerId === \"\"\r\n          ? headerText\r\n              .toLowerCase()\r\n              .replace(\/[^\\w ]+\/g, \"\")\r\n              .replace(\/ +\/g, \"-\")\r\n          : headerId;\r\n          \r\n         \r\n\r\n      const newListItem = document.createElement(\"li\");\r\n      const newLink = document.createElement(\"a\");\r\n      newLink.setAttribute(\"href\", \"#\" + idFromText);\r\n      newLink.textContent = LINKS[headerText] || headerText;\r\n\r\n      newLink.addEventListener(\"click\", (e) => {\r\n          \r\n        e.preventDefault();\r\n        const y =\r\n          header.getBoundingClientRect().top +\r\n          window.pageYOffset -\r\n          PADDING_BOTTOM_FOR_SCROLL -\r\n          OFFSET;\r\n          ticking = true; \r\n        window.scrollTo({ top: y, behavior: \"smooth\" });\r\n        \r\n        setTimeout(()=>{\r\n            ticking = false;\r\n        },500);\r\n        \r\n      });\r\n      \r\n\r\n      newListItem.appendChild(newLink);\r\n    toc.appendChild(newListItem);\r\n    \r\n    \r\n    });\r\n    tocTarget.appendChild(toc);\r\n    allLinks = Array.from(document.querySelector(\".toc.toc-2\").querySelectorAll(\"ul li\"));\r\n  };\r\n\r\n  const setContainerHeight = () => {\r\n    const windowHeight = window.innerHeight;\r\n    const tocContainer = document.querySelector(\".ddcv\");\r\n\r\n    tocContainer.style.maxHeight = \"calc(100vh - 230px)\";\r\n    tocContainer.style.minHeight = \"200px\";\r\n  };\r\n\r\n\r\n  const checkScroll = () => {\r\n      const windowHeight = window.innerHeight;\r\n      const scrollTop = window.scrollY || document.documentElement.scrollTop;\r\n\r\n      let selectedHeaderIndex = -1;\r\n\r\n      headerList.forEach((header, index) => {\r\n        \r\n  const posTop = header.getBoundingClientRect().top;\r\n       \r\n\r\n const isInViewport = posTop + elem.clientHeight <= window.innerHeight ;\r\n \r\n\r\n \r\n if(isInViewport){\r\n      selectedHeaderIndex = index;\r\n }\r\n        \r\n\r\n\r\n        \r\n      });\r\n      \r\n\r\n\r\n        allLinks.forEach((link, i) => {\r\n            if(i === selectedHeaderIndex){\r\n              link.classList.remove(\"pre-active\");  \r\n              link.classList.add(\"active\");\r\n            }\r\n            if(i < selectedHeaderIndex){\r\n              link.classList.add(\"pre-active\"); \r\n               link.classList.remove(\"active\");\r\n            }\r\n             if(i > selectedHeaderIndex){\r\n            link.classList.remove(\"pre-active\");\r\n            link.classList.remove(\"active\");\r\n            }\r\n            \r\n            \r\n            \r\n        });\r\n        \r\n\r\n\r\n  };\r\n\r\n  const loadAllImages = () => {\r\n    const images = document.getElementsByTagName(\"img\");\r\n\r\n    for (let i = 0; i < images.length; i++) {\r\n      const img = images[i];\r\n      const src = img.getAttribute(\"data-src\") || img.src;\r\n      img.src = src;\r\n    }\r\n  };\r\n\r\n  loadAllImages();\r\n  \r\n  \r\n  \r\n\r\n\r\n  document.addEventListener(\"DOMContentLoaded\", () => {\r\n      \r\n      \r\n     setTimeout(()=>{\r\n           createList();\r\n    setContainerHeight();\r\n  \r\n    \r\n    document.addEventListener(\"scroll\", (event) => {\r\n  if (!ticking) {\r\n    checkScroll();\r\n  }\r\n});\r\n    \r\n    \r\n},300) \r\n\r\n    \r\n  });\r\n  \r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-fd36525 e-flex e-con-boxed e-con e-parent\" data-id=\"fd36525\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ef5eef5 elementor-widget elementor-widget-shortcode\" data-id=\"ef5eef5\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\n<div class=\"wpcf7 no-js\" id=\"wpcf7-f100240-o1\" lang=\"en-US\" dir=\"ltr\" data-wpcf7-id=\"100240\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/fr\/wp-json\/wp\/v2\/posts\/182487#wpcf7-f100240-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Contact form\" enctype=\"multipart\/form-data\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"100240\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"en_US\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f100240-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/><input type=\"hidden\" name=\"_wpcf7_recaptcha_response\" value=\"\" \/>\n<\/fieldset>\n<style>\n#form-templates .contact__info {\n  background-color: #f4f4f4;\n  padding: 70px 44px 70px 50px;\n  position: relative;\n  max-width: 540px;\n  width: 100%;\nborder: 1px solid #AEB1B7;\n}\n\n#form-templates .contact__info-background {\n  z-index: -1;\n  position: absolute;\n  top: 20px;\n  left: 20px;\n  width: 100%;\n  height: 100%;\n  border: 1px dashed #ef4557;\n}\n\n\n#form-templates .new-container{\ndisplay: flex;\njustify-content: space-between;\nflex-wrap: wrap;\n}\n\n\n#form-templates{\npadding: 100px 15px 100px 15px;        \n}\n\n#form-templates .contact__info-heading {\n  font-family: 'Sora' !important;\n  font-style: normal !important;\n  font-weight: 400 !important;\n  font-size: 36px !important;\n  line-height: 46px !important;\n  color: #2E2E2E !important;\n   margin-bottom: 60px !important;\n\n}\n\n\n#form-templates .message label{\ncolor: #585858 !important;   \n}\n\n.elementor-widget-container.form-template h2,.elementor-widget-container.form-template h1{\n font-size: 60px !important;\n  line-height: 70px !important;\n  font-family: \"Sora\", Sans-serif;\n  font-weight: 400;\n  margin: 0;  \n  margin-bottom: 20px;\n}\n\n\n\n\n.elementor-widget-container.form-template p{\n  font-family: \"Karla\", Sans-serif;\n  font-size: 22px;\n  font-weight: 400;\n  line-height: 28px;\n  color: var( --e-global-color-primary );\n  max-width: 700px;\n  margin: 0; \n  margin-bottom: 40px;\n} \n  \n\n\n.new-container #spinner{\nwidth: 50%;\nmax-width: 700px;\n}\n\n\n#form-templates .new-container #spinner div.contact-us__wrapper:nth-child(6){\ngap:30px; \n    \n}\n\n\n#form-templates .contact__info-heading {\n  margin-bottom: 67px;\n  font-size: 36px;\n  font-family: karla;\n  color:  #2E2E2E;\n\n  line-height: 49px;\n}\n\n#form-templates .contact__info-steps {\n  display: flex;\n  flex-direction: column;\n  max-width: 425x;\n  row-gap: 20px;\n  border-left: 1px solid #2e2e2e;\n}\n\n#form-templates .contact__info-block {\n  position: relative;\n  padding-left: 45px;\n}\n\n#form-templates .contact__info-block:last-child {\n  box-shadow: -1px 0 0 1px #f4f4f4;\n}\n\n#form-templates .contact__info-step {\n  position: absolute;\n  border: 1px solid #2e2e2e;\n  width: 40px;\n  height: 40px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border-radius: 20px;\n  left: -20px;\n  top: -8px;\n  background-color: #F4F4F4;\n  color:  #2E2E2E;\n\nfont-family: Karla;\nfont-weight: 700;\nfont-size: 18px;\nline-height: 28px;\n\n}\n\n.elementor-widget-global .contact__info-step {\n        color:  #2E2E2E;\n}\n\n#form-templates .contact__info-text {\n  margin: 0;\n  font-size: 16px;\n  line-height: 26px;\n  color: #2E2E2E;\n  font-family: karla;\n\n  width: 100%;\n}\n\n\n#form-templates .contact-us__send{\nflex-shrink: 0;\nmargin-top:0;\n}\n\n\n\n@media screen and (max-width: 1279px) {\n    .new-container #spinner{\n        width: 100%;\n        max-width:100%;\n        margin-bottom:40px;\n    }\n    \n\n    .new-container .contact__info {\n        max-width: 700px !important;\n    }\n    \n}\n\n\n@media screen and (max-width: 1279px) {\n#form-templates{\npadding: 60px 15px 70px 15px;     \n}\n}\n\n\n\n@media screen and (max-width: 767px) {\n\n#form-templates .new-container #spinner div.contact-us__wrapper:nth-child(6){\ngap:20px; \n \n}\n\n\n  #form-templates .contact__info {\n    padding: 20px 20px 40px 40px;\n    margin: 0 auto;\n  }\n\n\n#form-templates{\npadding: 40px 15px 50px 15px;  \n    \n}\n\n  \n   .new-container #spinner{\n       \n    margin-bottom:30px;   \n   }\n   \n   \n   .elementor-widget-container.form-template h2,.elementor-widget-container.form-template h1{\n   font-size: 32px !important;\n    line-height: 42px !important;    \n   }\n   \n   \n   .elementor-widget-container.form-template p{\n       \n    font-size: 16px;\n    line-height: 20px;  \n    margin-bottom: 30px;\n \n       \n   }\n   \n   #form-templates .contact__info-heading{\n   font-size: 24px !important;\n    line-height: 49px !important;    \n       \n   }\n   \n\n.mailToContact{\nmargin-top: 10px !important;        \n}\n   \n\n  #form-templates .contact__info-heading {\n    font-size: 24px;\n    margin-bottom: 37px;\n  }\n\n  #form-templates .contact__info-background {\n    top: 10px;\n    left: 10px;\n  }\n\n  #form-templates .contact__info-text {\n    font-size: 12px;\n    line-height: 20px;\n  }\n  \n  \n  #form-templates .contact__info-heading {\n   margin-bottom: 35px !important;\n\n}\n\n}\n\n@media (max-width: 767px) {\n    .mailToContact {\n        max-width: 100%;\n    }\n}\n<\/style>\n\n<script>\nwindow.addEventListener('hashchange',function(e){if(window.history.pushState){window.history.pushState('','\/',window.location.pathname)}else{window.location.hash=''}})\n<\/script>\n\n\n<div id=\"form-templates\">\n<div class=\"elementor-widget-container form-template\">\n<a name=\"contact-form\"><\/a>\n<h2>Contact us<\/h2>\n<p><a id=\"calendlylink\" style=\"color: #c63031; border-bottom: 1px solid #c63031; padding: 0;\">Book a call<\/a> or fill out the form below and we\u2019ll get back to you once we\u2019ve processed your request.<\/p>\n<\/div>\n\n<div class=\"new-container\">\n\n\n<div class=\"contact-us__main\" id=\"spinner\" data-no-defer=\"1\">\n\n<div class=\"contact-us__wrapper\">\n\n<div class=\"name\">\n<label>Name<\/label>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"field_name\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required contact-us__name\" id=\"contact-name\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Name*\" value=\"\" type=\"text\" name=\"field_name\" \/><\/span>\n<\/div>\n\n<div class=\"company\">\n<label>Company<\/label>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"company\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required contact-us__company\" id=\"contact-company\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Company*\" value=\"\" type=\"text\" name=\"company\" \/><\/span>\n<\/div>\n\n<\/div>\n\n<div class=\"contact-us__wrapper\">\n\n<div class=\"email\">\n<label>Email<\/label>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"email\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email contact-us__email\" id=\"contact-email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Corporate email*\" value=\"\" type=\"email\" name=\"email\" \/><\/span>\n<\/div>\n\n<div class=\"phone\">\n<label>Phone<\/label>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"tel\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-tel wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-tel contact-us__phone\" id=\"contact-phone\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Phone*\" value=\"\" type=\"tel\" name=\"tel\" \/><\/span>\n<\/div>\n\n<\/div>\n<div class=\"contact-us__wrapper subj\">\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-recipient\"><select class=\"wpcf7-form-control wpcf7-select\" id=\"form-field-subj_js\" aria-invalid=\"false\" name=\"your-recipient\"><option value=\"\">Subject*<\/option><option value=\"IT staff augmentation\">IT staff augmentation<\/option><option value=\"Turnkey product development\">Turnkey product development<\/option><option value=\"Support and enhancement\">Support and enhancement<\/option><option value=\"Careers\">Careers<\/option><option value=\"Other\">Other<\/option><\/select><\/span>\n\n<span class=\"wpcf7-form-control-wrap\" data-name=\"form-field-budget_js\"><select class=\"wpcf7-form-control wpcf7-select\" id=\"form-field-budget_js\" aria-invalid=\"false\" name=\"form-field-budget_js\"><option value=\"\">Project budget<\/option><option value=\"Under $15K\">Under $15K<\/option><option value=\"$15K-$30K\">$15K-$30K<\/option><option value=\"$30K-$100K\">$30K-$100K<\/option><option value=\"$100K-$250K\">$100K-$250K<\/option><option value=\"$250K-$500K\">$250K-$500K<\/option><option value=\"More than $500K\">More than $500K<\/option><\/select><\/span>\n\n<\/div>\n\n\n<div class=\"message\">\n<label>Message<\/label>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"message\"><textarea cols=\"40\" rows=\"1\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea wpcf7-validates-as-required contact-us__message\" id=\"contact-message\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Describe your needs in detail*\" name=\"message\"><\/textarea><\/span>\n<\/div>\n\n<div class=\"atvoice-wrap\">\n\n<div class=\"voice-wrap\">\n<span id=\"voice-mut\" class=\"voicetext\">Send us a voice message<\/span>\n         <div class=\"qc_voice_audio_wrapper\">\n            <div class=\"qc_voice_audio_container\">\n                <div class=\"qc_voice_audio_upload_main\" id=\"qc_audio_main\">\n                    <a class=\"qc_audio_record_button\" id=\"qc_audio_record\" href=\"#\" aria-label=\"Record an audio message\">\n                        <span class=\"dashicons dashicons-microphone\"><\/span> \u00a0<\/a> \n                <\/div>\n\n                <div class=\"qc_voice_audio_recorder\" id=\"qc_audio_recorder\" style=\"display:none\">\n\n                <\/div>\n                <div class=\"qc_voice_audio_display\" id=\"qc_audio_display\"  style=\"display:none\">\n                    <audio id=\"qc-audio\" controls src=\"\"><\/audio>\n                    <span title=\"Remove and back to main upload screen.\" class=\"qc_audio_remove_button dashicons dashicons-trash\"><\/span>\n                <\/div>\n            <\/div>\n            <input type=\"hidden\" value=\"\" name=\"qcwpvoicemessage\" id=\"qc_audio_url\" \/>\n        <\/div>\n        \n<\/div>\n\n\n<div class=\"attach-wrap\">\n<span class=\"voicetext\">Attach documents<\/span>\n\n<div class='attachment'>\n\n<div class=\"downloaded\">\n<span><\/span>\n<div class=\"deleteFile\"><\/div>\n<\/div>\n\n<div class=\"attachmentButton\" onclick=\"(function cl(e){if(e.target.nodeName == 'DIV'){e.target.parentNode.children[1].children[0].click(); }})(arguments[0]);\">\n\n<div class=\"innerText\">Upload file<\/div>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"att-files\"><input size=\"40\" class=\"wpcf7-form-control wpcf7-file\" accept=\".jpg,.png,.jpeg,.pdf\" aria-invalid=\"false\" type=\"file\" name=\"att-files\" \/><\/span>\n\n<div class=\"tip\" onclick=\"event.stopPropagation()\">\n<p>You can attach 1 file up to 2MB. Valid file formats: pdf, jpg, jpeg, png.<\/p>\n<\/div>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n\n\n<\/div>\n\n<div class=\"contact-us__wrapper\"> \n<p class=\"pp\">By clicking Send, you consent to Innowise processing your personal data per our<a href=\"\/privacy-notice\/\"> Privacy Policy <\/a>to provide you with relevant information. By submitting your phone number, you agree that we may contact you via voice calls, SMS, and messaging apps. Calling, message, and data rates may apply.<\/p>\n\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"scoring_point\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"utmCampaign\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"utmContent\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"utmMedium\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"utmSource\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"utmTerm\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"location\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"city\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"ip\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"Summ\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"gclid\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"rating\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"urlCompany\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"urlWithParams\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"audioMessageLink\" \/>\n<input class=\"wpcf7-form-control wpcf7-submit has-spinner contact-us__send\" id=\"contact-send-button\" type=\"submit\" value=\"Send\" \/>\n<\/div>\n\n<div class='mailToContact'>You can also send us your request <\/br>to <a href=\"mailto:contact@innowise.com\">contact@innowise.com<\/a><\/div>\n\n<\/div>\n\n<div class=\"elementor-widget-container\" style=\"z-index:1;\">\n<div class=\"contact__info\">\n  <div class=\"contact__info-background\"><\/div>\n  <div class=\"contact__info-heading\">What happens next?<\/div>\n  <div class=\"contact__info-steps\">\n\n    <div class=\"contact__info-block\">\n      <div class=\"contact__info-step\">1<\/div>\n      <p class=\"contact__info-text\">Once we\u2019ve received and processed your request, we\u2019ll get back to you to detail your\n        project needs and sign an NDA to ensure confidentiality.<\/p>\n    <\/div>\n\n    <div class=\"contact__info-block\">\n      <div class=\"contact__info-step\">2<\/div>\n      <p class=\"contact__info-text\">After examining your wants, needs, and expectations, our team will devise a project\n        proposal with the scope of work, team size, time, and cost estimates.<\/p>\n    <\/div>\n\n    <div class=\"contact__info-block\">\n      <div class=\"contact__info-step\">3<\/div>\n      <p class=\"contact__info-text\">We\u2019ll arrange a meeting with you to discuss the offer and nail down the details.<\/p>\n    <\/div>\n\n    <div class=\"contact__info-block\">\n      <div class=\"contact__info-step\">4<\/div>\n      <p class=\"contact__info-text\">Finally, we\u2019ll sign a contract and start working on your project right away.<\/p>\n    <\/div>\n  <\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\n<\/div>\n\n<\/div><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"related_content_blog_container\">[related_content_list]<\/div><script>\n            jQuery( document ).ready(function($) {\n            var parentSection = $('[data-elementor-type=\"wp-page\"]');\n            if($('[data-elementor-type=\"wp-post\"]').length){\n                var parentSection = $('[data-elementor-type=\"wp-post\"]');\n            }\n            \n                parentSection.children().last().before($('.related_content_blog_container'));\n            });\n            <\/script><div class=\"other_services_container\">[need_other_services_v2]<\/div><script>\n                    jQuery( document ).ready(function($) {\n                        var parentSection = $('[data-elementor-type=\"wp-page\"]');\n                        if($('[data-elementor-type=\"wp-post\"]').length){\n                            var parentSection = $('[data-elementor-type=\"wp-post\"]');\n                        }\n                        \n                        console.log(parentSection);\n                        parentSection.children().last().before($('.other_services_container'));\n                        var sections = parentSection.find('.net-15.dt-16');\n                        for(var i = 0; i<sections.length; i++){\n                            if($(sections[i]).hasClass( 'net-15' ) && $(sections[i]).hasClass( 'dt-16' ) && $(sections[i]).hasClass( 'elementor-hidden-desktop' )==false){\n                                $(sections[i]).before($('.other_services_container'));   \n                            }\n                        }\n                        \n                    });\n                <\/script>","protected":false},"excerpt":{"rendered":"<p>Main About us Blog WCAG 2.1 AA: What it is, deadlines, requirements, and penalties Dmitry Fedorov May 26, 2025 18 min read Ever thought about how people with disabilities experience online shopping or social media? For most of us, it\u2019s simple \u2014 browse, click, buy, scroll, etc. But for the millions of people with disabilities [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":183501,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"elementor_header_footer","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[128],"class_list":["post-182487","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","tag-ui-ux-design","tag-web"],"acf":[],"_links":{"self":[{"href":"https:\/\/innowise.com\/fr\/wp-json\/wp\/v2\/posts\/182487","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/innowise.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/innowise.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/innowise.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/innowise.com\/fr\/wp-json\/wp\/v2\/comments?post=182487"}],"version-history":[{"count":0,"href":"https:\/\/innowise.com\/fr\/wp-json\/wp\/v2\/posts\/182487\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/innowise.com\/fr\/wp-json\/wp\/v2\/media\/183501"}],"wp:attachment":[{"href":"https:\/\/innowise.com\/fr\/wp-json\/wp\/v2\/media?parent=182487"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/innowise.com\/fr\/wp-json\/wp\/v2\/categories?post=182487"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/innowise.com\/fr\/wp-json\/wp\/v2\/tags?post=182487"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}