CINXE.COM

Accessible Software

<!DOCTYPE html> <html lang="en-US" prefix="og: http://ogp.me/ns#"> <head> <link rel="preconnect" href="https://cdn.jsdelivr.net" crossorigin> <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,600,700&display=swap" rel="stylesheet"> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width"> <link href="/aoda_cdn/css/aoda.css" rel="stylesheet" /> <title>Accessible Software</title> <meta name='robots' content='max-image-preview:large' /> <style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style> <!-- This site is optimized with the Yoast SEO Premium plugin v7.9 - https://yoast.com/wordpress/plugins/seo/ --> <meta name="description" content="Federal standards for accessibility in information and communication technology (ICT) include requirements for accessible software. Learn more now."/> <link rel="canonical" href="https://www.aoda.ca/accessible-software/" /> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="article" /> <meta property="og:title" content="Accessible Software" /> <meta property="og:description" content="Federal standards for accessibility in information and communication technology (ICT) include requirements for accessible software. Learn more now." /> <meta property="og:url" content="https://www.aoda.ca/accessible-software/" /> <meta property="og:site_name" content="Accessibility for Ontarians with Disabilities Act (AODA)" /> <meta property="article:section" content="AODA Resources" /> <meta property="article:published_time" content="2024-09-23T10:30:57-04:00" /> <meta property="article:modified_time" content="2024-09-23T16:56:21-04:00" /> <meta property="og:updated_time" content="2024-09-23T16:56:21-04:00" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:description" content="Federal standards for accessibility in information and communication technology (ICT) include requirements for accessible software. Learn more now." /> <meta name="twitter:title" content="Accessible Software" /> <script type='application/ld+json'>{"@context":"https:\/\/schema.org","@type":"Organization","url":"https:\/\/www.aoda.ca\/","sameAs":[],"@id":"https:\/\/www.aoda.ca\/#organization","name":"AODA.ca","logo":""}</script> <!-- / Yoast SEO Premium plugin. --> <link rel='dns-prefetch' href='//stats.wp.com' /> <link rel='dns-prefetch' href='//v0.wordpress.com' /> <link rel='preconnect' href='//i0.wp.com' /> <link rel='preconnect' href='//c0.wp.com' /> <link rel="alternate" type="application/rss+xml" title="Accessibility for Ontarians with Disabilities Act (AODA) &raquo; Feed" href="https://www.aoda.ca/feed/" /> <link rel="alternate" type="application/rss+xml" title="Accessibility for Ontarians with Disabilities Act (AODA) &raquo; Comments Feed" href="https://www.aoda.ca/comments/feed/" /> <link rel='stylesheet' id='twentyfourteen-jetpack-css' href='https://c0.wp.com/p/jetpack/14.3/modules/theme-tools/compat/twentyfourteen.css' type='text/css' media='all' /> <link rel='stylesheet' id='mediaelement-css' href='https://c0.wp.com/c/6.7.2/wp-includes/js/mediaelement/mediaelementplayer-legacy.min.css' type='text/css' media='all' /> <link rel='stylesheet' id='wp-mediaelement-css' href='https://c0.wp.com/c/6.7.2/wp-includes/js/mediaelement/wp-mediaelement.min.css' type='text/css' media='all' /> <style id='jetpack-sharing-buttons-style-inline-css' type='text/css'> .jetpack-sharing-buttons__services-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:0;list-style-type:none;margin:5px;padding:0}.jetpack-sharing-buttons__services-list.has-small-icon-size{font-size:12px}.jetpack-sharing-buttons__services-list.has-normal-icon-size{font-size:16px}.jetpack-sharing-buttons__services-list.has-large-icon-size{font-size:24px}.jetpack-sharing-buttons__services-list.has-huge-icon-size{font-size:36px}@media print{.jetpack-sharing-buttons__services-list{display:none!important}}.editor-styles-wrapper .wp-block-jetpack-sharing-buttons{gap:0;padding-inline-start:0}ul.jetpack-sharing-buttons__services-list.has-background{padding:1.25em 2.375em} </style> <link rel='stylesheet' id='contact-form-7-css' href='https://www.aoda.ca/wp-content/plugins/contact-form-7/includes/css/styles.css?ver=6.0.4' type='text/css' media='all' /> <script type="text/javascript" src="https://c0.wp.com/c/6.7.2/wp-includes/js/jquery/jquery.min.js" id="jquery-core-js"></script> <script type="text/javascript" src="https://c0.wp.com/c/6.7.2/wp-includes/js/jquery/jquery-migrate.min.js" id="jquery-migrate-js"></script> <script type="text/javascript" src="https://www.aoda.ca/wp-content/themes/badeyes/js/jquery.validate.min.js?ver=6.7.2" id="jquery-validate-min-js"></script> <script type="text/javascript" src="https://www.aoda.ca/wp-content/themes/badeyes/js/additional-methods.min.js?ver=6.7.2" id="additional-methods-min-js"></script> <link rel="https://api.w.org/" href="https://www.aoda.ca/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.aoda.ca/wp-json/wp/v2/posts/8223" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.aoda.ca/xmlrpc.php?rsd" /> <meta name="generator" content="WordPress 6.7.2" /> <link rel='shortlink' href='https://wp.me/pxqpJ-28D' /> <link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://www.aoda.ca/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.aoda.ca%2Faccessible-software%2F" /> <link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://www.aoda.ca/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.aoda.ca%2Faccessible-software%2F&#038;format=xml" /> <style>img#wpstats{display:none}</style> <style type="text/css"> </style> <style type="text/css" id="wp-custom-css"> .flash-message { visibility: hidden; } input[name='email'] { display: inline-block; } #aoda-online-form { position: relative; } #check_email { padding: 1.2rem 2.5rem; line-height: normal; border-radius: 0; border-top-right-radius: 8px; border-bottom-right-radius: 8px; display: inline-block; } #check_email:disabled:empty { background-color: #0071bc; display: inline-block; } .spinner { width: 2em; height: 2em; display: inline-block; position: relative; right: 6.3rem; vertical-align: middle; } .double-bounce1, .double-bounce2 { width: 100%; height: 100%; border-radius: 50%; background-color: #fff; opacity: 0.6; position: absolute; top: 0; left: 0; -webkit-animation: sk-bounce 2.0s infinite ease-in-out; animation: sk-bounce 2.0s infinite ease-in-out; } .double-bounce2 { -webkit-animation-delay: -1.0s; animation-delay: -1.0s; } @-webkit-keyframes sk-bounce { 0%, 100% { -webkit-transform: scale(0.0) } 50% { -webkit-transform: scale(1.0) } } @keyframes sk-bounce { 0%, 100% { transform: scale(0.0); -webkit-transform: scale(0.0); } 50% { transform: scale(1.0); -webkit-transform: scale(1.0); } } [class*="icono"] { position: relative; display: inline-block; vertical-align: middle; color: #ffffff; box-sizing: border-box; } [class*="icono"]:after, [class*="icono"]:before { content: ""; box-sizing: border-box; } [class*="icono-arrow1"] { width: 20px; height: 20px; border-width: 4px 4px 0 0; border-style: solid; margin: 10px; } [class*="icono-arrow1"]:before { right: 0; top: -3px; position: absolute; height: 4px; box-shadow: inset 0 0 0 32px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); width: 23px; -webkit-transform-origin: right top; transform-origin: right top; } [class*="icono-arrow1"][class*="-left"] { -webkit-transform: rotate(45deg); transform: rotate(45deg); } [class*="icono-arrow1"][class*="-left"][class*="-up"] { -webkit-transform: none; transform: none; } [class*="icono-arrow1"][class*="-left"][class*="-down"] { -webkit-transform: rotate(90deg); transform: rotate(90deg); } [class*="icono-arrow1"][class*="-right"] { -webkit-transform: rotate(-135deg); transform: rotate(-135deg); } [class*="icono-arrow1"][class*="-right"][class*="-up"] { -webkit-transform: rotate(-90deg); transform: rotate(-90deg); } [class*="icono-arrow1"][class*="-right"][class*="-down"] { -webkit-transform: rotate(180deg); transform: rotate(180deg); } [class*="icono-arrow1"][class*="-up"] { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); } [class*="icono-arrow1"][class*="-down"] { -webkit-transform: rotate(135deg); transform: rotate(135deg); } [class*="icono-arrow2"] { width: 0; height: 0; border-width: 6px; border-style: solid; border-bottom-color: transparent; border-left-color: transparent; margin: 10px; } [class*="icono-arrow2"]:before { right: 0; top: -3px; position: absolute; height: 4px; box-shadow: inset 0 0 0 32px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); width: 15px; -webkit-transform-origin: right top; transform-origin: right top; } [class*="icono-arrow2"][class*="-left"] { -webkit-transform: rotate(45deg); transform: rotate(45deg); } [class*="icono-arrow2"][class*="-left"][class*="-up"] { -webkit-transform: none; transform: none; } [class*="icono-arrow2"][class*="-left"][class*="-down"] { -webkit-transform: rotate(90deg); transform: rotate(90deg); } [class*="icono-arrow2"][class*="-right"] { -webkit-transform: rotate(-135deg); transform: rotate(-135deg); } [class*="icono-arrow2"][class*="-right"][class*="-up"] { -webkit-transform: rotate(-90deg); transform: rotate(-90deg); } [class*="icono-arrow2"][class*="-right"][class*="-down"] { -webkit-transform: rotate(180deg); transform: rotate(180deg); } [class*="icono-arrow2"][class*="-up"] { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); } [class*="icono-arrow2"][class*="-down"] { -webkit-transform: rotate(135deg); transform: rotate(135deg); } [class*="icono"] { position: relative; display: inline-block; vertical-align: middle; color: #ffffff; box-sizing: border-box; } [class*="icono"]:after, [class*="icono"]:before { content: ""; box-sizing: border-box; } [class*="icono-arrow3"] { width: 18px; height: 20px; border-width: 4px 4px 0 0; border-style: solid; margin: 10px; border-radius: 0 2px 0 0; } [class*="icono-arrow3"]:before, [class*="icono-arrow3"]:after { border-radius: 2px; position: absolute; } [class*="icono-arrow3"]:before { right: 0; top: -3px; width: 23px; height: 4px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); -webkit-transform-origin: right top; transform-origin: right top; box-shadow: inset 0 0 0 32px; } .grecaptcha-badge{ visibility: collapse !important; } </style> <meta name="theme-color" content="#182e4e"/> <link rel="manifest" href="/manifest.json"> <link rel="apple-touch-icon" sizes="57x57" href="/apple-icon-57x57.png"> <link rel="apple-touch-icon" sizes="60x60" href="/apple-icon-60x60.png"> <link rel="apple-touch-icon" sizes="72x72" href="/apple-icon-72x72.png"> <link rel="apple-touch-icon" sizes="76x76" href="/apple-icon-76x76.png"> <link rel="apple-touch-icon" sizes="114x114" href="/apple-icon-114x114.png"> <link rel="apple-touch-icon" sizes="120x120" href="/apple-icon-120x120.png"> <link rel="apple-touch-icon" sizes="144x144" href="/apple-icon-144x144.png"> <link rel="apple-touch-icon" sizes="152x152" href="/apple-icon-152x152.png"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-icon-180x180.png"> <link rel="icon" type="image/png" sizes="192x192" href="/android-icon-192x192.png"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="96x96" href="/favicon-96x96.png"> <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"> <link rel="manifest" href="/manifest.json"> <meta name="msapplication-TileColor" content="#ffffff"> <meta name="msapplication-TileImage" content="/ms-icon-144x144.png"> <meta name="theme-color" content="#0071bb"> <meta name="application-name" content="AODA.ca"/> <meta name="msapplication-TileColor" content="#FFFFFF" /> <script src="https://cdn.jsdelivr.net/g/filesaver.js"></script> <script src="https://unpkg.com/blob-util/dist/blob-util.min.js"></script> </head> <body class="post-template-default single single-post postid-8223 single-format-standard group-blog masthead-fixed singular"> <a class="usa-skipnav" href="#main-content">Skip to main content</a> <a class="usa-skipnav" href="#main-menu">Skip to main menu</a> <header class="usa-header site-header" > <div class="usa-navbar site-header-navbar"> <!-- <button class="usa-menu-btn">Menu</button>--> <div class="usa-logo site-logo" id="logo"> <em class="usa-logo-text"> <img src="https://cdn.jsdelivr.net/gh/aoda-ca/aoda_cdn@2.1/img/logo.svg" alt="AODA.ca Logo" /> <a href="/" title="Home" aria-label="AODA.ca home" class='full-text'> Accessibility for Ontarians with Disabilities Act </a> <a href="/" title="Home" aria-label="AODA.ca home" class='abbr-text'> AODA Accessibility </a> </em> </div> <ul class="usa-button-list usa-unstyled-list"> <li> <a class="usa-button usa-button-outline-inverse mobile-hidden" href="/newsletter/"> Sign up for updates </a> </li> <li> <button class="usa-button usa-button-outline-inverse button-yellow" id="contrast-link" type="button" role="checkbox" aria-checked="false" onclick="return toggleContrast();"> High contrast </button> </li> </ul> <ul class="usa-button-list usa-unstyled-list mobile-only"> <li> <button class="usa-button mobile-header-button " id="mobile-menu-toggle" type="button" role="checkbox" onclick="return toggleMenu();"> <span class="fas fa-bars" aria-hidden="true"></span> <span class="sr-only">Toggle Menu</span> </button> </li> </ul> </div> </header> <nav class="site-nav-secondary "> <ul> <li><a href="/free-online-training/" class=""><span>Free Online Training</span></a></li> <li><a href="/aoda-website-accessibility-audit/" class=""><span>Website Audits</span></a></li> <li><a href="/onsite-training/" class=""><span>On-Site Training</span></a></li> <li><a href="/aoda-consulting/" class=""><span>AODA Consulting</span></a></li> </ul> </nav> <script> function setContrastHigh() { document.body.classList.add("high-contrast"); document.getElementById("contrast-link").innerHTML = "Reset contrast"; document.getElementById("contrast-link").setAttribute('aria-checked', 'true'); set_cookie("style", "high-contrast"); } function resetContrast() { document.body.classList.remove("high-contrast"); document.getElementById("contrast-link").innerHTML = "High contrast"; document.getElementById("contrast-link").setAttribute('aria-checked', 'false'); delete_cookie("style"); } if (document.cookie.indexOf('high-contrast') >= 0) { if (document.body === undefined || document.body.classList === undefined || document.body.classList.add === undefined) { // Old IE Fix window.onload = function() { if (document.body.classList !== undefined) { setContrastHigh(); } } } else { setContrastHigh(); } } function toggleContrast() { if (document.cookie.indexOf('high-contrast') >= 0) { resetContrast(); } else { setContrastHigh(); } return false; } jQuery(document).ready(function(){ jQuery("#main-content").on("click", function(){ jQuery("#main-menu").removeClass('expanded'); }); }); function toggleMenu() { jQuery("#main-menu").toggleClass('expanded'); } function set_cookie(name, value) { document.cookie = name +'='+ value +'; Path=/;'; } function delete_cookie(name) { document.cookie = name +'=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;'; } </script> <main id="main-content" class="main-content"> <div class="styleguide-content" role="main" id="content"> <div class="usa-grid" style="padding:0"> <div class="usa-width-two-thirds-x"> <div id="post-8223" class="post-8223 post type-post status-publish format-standard hentry category-resources-on-issues-of-accessibility-and-the-ontarians-with-disabilities-act-aoda"> <header class="entry-header"> <h1 class="entry-title">Accessible Software</h1> <div class="entry-meta"> </div><!-- .entry-meta --> </header><!-- Z.entry-header --> <div class="entry-content"> <p>The AODA has <a href="https://aoda.ca/new-aoda-requirement-for-ontario-websites/">requirements for web accessibility</a>, as well as <a href="https://aoda.ca/accessible-self-service-kiosks/">requirements for the procurement of self-service kiosks</a>. However, <a href="https://aoda.ca/coordinating-accessibility-laws-across-canada/">the third review of the AODA recommends that future AODA standards should align with existing standards in other parts of the country</a>.</p> <p>For instance, Accessibility Standards Canada (ASC) has adopted <a href="https://accessible.canada.ca/sites/default/files/2024-06/can-asc-en301549-20240226-v02-en-aoda.pdf">European standards for accessibility in information and communication technology (ICT)</a>. Future AODA standards may include some or all of these guidelines and requirements to make ICT products and services more accessible. In this article, we explore guidelines in the federal standards for accessible software.</p> <h2>Accessible Software</h2> <p>Criteria in the federal ICT standards for <a href="https://aoda.ca/accessible-webpages-and-documents/">accessible webpages and documents</a> also apply to software.</p> <p>For example, software includes:</p> <ul> <li>Authoring tools, or software that allows people to create content</li> <li>Platform software, such as: <ul> <li>Operating systems</li> <li>Web browsers</li> <li>Virtual machines</li> </ul> </li> <li>User interface software, or systems that allow people to complete certain tasks</li> <li>Assistive technology software, such as: <ul> <li>Screen readers</li> <li>Screen magnification</li> <li>Speech recognition</li> </ul> </li> <li>Mobile applications</li> </ul> <p>These criteria apply to software that people can use with assistive technology. On the other hand, software with functionality that is closed to assistive technology must comply with <a href="https://aoda.ca/information-and-communication-technology-with-closed-functionality/">requirements for ICT with closed functionality</a>.</p> <p>In addition to criteria for web accessibility, the federal ICT standards have other requirements that only apply to software. Many of these criteria are specific to platform software, user interface software, or authoring tools. They require software to function with assistive technologies in specific ways. For example, one criterion requires software to have <a href="https://aoda.ca/tables-in-websites-and-documents/">tables with headers, rows, and columns that are readable with assistive technology</a>. Likewise, an authoring tool that includes templates must have at least one (1) template to create products that conform to the criteria for accessible webpages and documents. Similarly, an authoring tool with an accessibility checker must recommend how the user should repair elements that do not comply with these criteria.</p><hr/> </div><!-- Q.entry-content --> </div> <!-- #post-## --> <div class="navigation post-navigation" role="navigation"> <div class="center"> <h3 class="screen-reader-text">Post navigation</h3> <div class="nav-links"> Previous Post <a href="https://www.aoda.ca/accessible-webpages-and-documents/" rel="prev"><span class="meta-nav"></span> Accessible Webpages and Documents</a> <br/>Next Post <a href="https://www.aoda.ca/accessible-documentation/" rel="next">Accessible Documentation <span class="meta-nav"></span></a> </div><!-- .nav-links --> </div> </div><!-- .navigation --> </div> </div> </div><!-- #primary --> </main><!-- #main-content --> <nav class="sidenav sticky" id="main-menu" > <ul id="menu-main-menu" class="usa-sidenav-list"><li id="menu-item-3154" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3154"><a href="/">Home</a></li> <li id="menu-item-2214" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-2214"><a href="https://www.aoda.ca/category/articles-regarding-the-accessibility-for-ontarians-with-disabilities-actaoda/">News Articles</a></li> <li id="menu-item-2217" class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-item-2217"><a href="https://www.aoda.ca/category/resources-on-issues-of-accessibility-and-the-ontarians-with-disabilities-act-aoda/">AODA Resources</a></li> <li id="menu-item-783" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-783"><a href="https://www.aoda.ca/the-act/">The Act (AODA)</a></li> <li id="menu-item-786" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-786"><a href="https://www.aoda.ca/guide-to-the-act/">Guide to the Act</a></li> <li id="menu-item-787" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-787"><a href="https://www.aoda.ca/customer-care-standard/">Customer Service Standard</a></li> <li id="menu-item-802" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-802"><a href="https://www.aoda.ca/customer-care-guide/">Customer Service Guide</a></li> <li id="menu-item-1216" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1216"><a href="https://www.aoda.ca/integrated/">Integrated Regulation</a></li> <li id="menu-item-2104" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2104"><a href="https://www.aoda.ca/a-guide-to-the-integrated-accessibility-standards-regulation/">Integrated Guide</a></li> <li id="menu-item-2224" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2224"><a href="https://www.aoda.ca/contact/">Contact Information</a></li> </ul></nav> <div style="text-align: center;" class="navlist"> <p><a href="#main-content">Back to top</a></p> </div> <footer class="usa-footer usa-footer-big"> <div class="usa-footer-secondary_section usa-footer-big-secondary-section"> <div class="usa-grid"> <div class="usa-footer-logo usa-width-one-half"> <h2 class="usa-footer-big-logo-heading">Accessibility for Ontarians with Disabilities Act</h2> <p>Copyright AODA.ca Inc. 漏2008-2025<br> <a href="/web/20190204082213/https://www.aoda.ca/archives/">Site Map</a> </p> </div> <div class="usa-footer-contact-links usa-width-one-half"> <h2 class="usa-footer-contact-heading">Contact Information</h2> <address> <div class="usa-footer-primary-content usa-footer-contact_info"> <p><a href="https://web.archive.org/web/20190204082213/mailto:info@aoda.ca">info@aoda.ca</a></p> </div> </address> </div> </div> </div> </footer> <script type="text/javascript"> function formValidation() { jQuery('#aoda-online-form').validate({ rules: { "email": "required", "full_name": { required: true, pattern: /[A-Za-z]+\s+[A-Za-z]+/ }, "company": "required" }, messages: { "email": "Please enter a valid email address", "full_name": "Please enter your full name" }, errorPlacement: function ($error, $element) { var name = $element.attr("name"); $error.attr('aria-live', 'polite'); //$("#error" + name).append($error); $error.insertAfter($element); }, submitHandler: function(form) { var paramObj = {}; jQuery.each(jQuery(form).serializeArray(), function(_, kv) { paramObj[kv.name] = kv.value; }); jQuery.post('https://0rxyymz0p0.execute-api.ca-central-1.amazonaws.com/prod/user', JSON.stringify(paramObj), null, 'json' ).done(function(resp) { console.log('redirecting course...'); var data = JSON.parse(resp); localStorage['osg_aoda_uid'] = paramObj['email']; localStorage['osg_vcode'] = data['code']; window.location.replace('/course'); }); return false; } }).form(); } var checkEmailButton = jQuery('#check_email'); var spinner = jQuery('#spinner'); checkEmailButton.click(function(event) { event.preventDefault(); jQuery('input[name=email]').off({ 'keyup': buttonHandler }); spinner.show(); var $i = checkEmailButton.find('i'); $i.css("visibility", "hidden");; //checkEmailButton.animate({width: '5em', height: '3em'}); this.disabled = true; this.style.backgroundColor = '#0071bc'; //jQuery('#email')[0].disabled = true; var email = jQuery('input[name=email]').val(); jQuery.get('https://0rxyymz0p0.execute-api.ca-central-1.amazonaws.com/prod/user', { email: email}) .done(function(data, textStatus, jqXHR) { if (jqXHR.status == "204") { checkEmailButton.hide(); //checkEmailButton.animate({ height: 1 }, 500, function(){ checkEmailButton.hide(); }); formValidation(); jQuery('.flash-message').css("visibility", "visible"); jQuery('.flash-message').css("display", "block"); jQuery('#user-reg-form').show(); jQuery('input[name=full_name]').focus(); } else if (jqXHR.status == "200") { localStorage['osg_aoda_uid'] = email; codeVerificationStep(email); } //spinner.hide(); }).fail(function(data) { spinner.hide(); }); }); function codeVerificationStep(email) { jQuery.post("https://0rxyymz0p0.execute-api.ca-central-1.amazonaws.com/prod/send_code", JSON.stringify({ email: email})).done(function() { checkEmailButton.hide(); spinner.hide(); jQuery('#verify-code').show(); var verifyCodeButton = jQuery('#send-vcode'); verifyCodeButton.click(function(ev){ ev.preventDefault(); var codeInput = jQuery('input[name=vcode]'); codeInput.focus(); var vcode = jQuery('input[name=vcode]').val(); verifyCode(vcode); }); }).fail(function(data) { console.log(data) } ); } function verifyCode(vcode) { var email = localStorage['osg_aoda_uid']; var $codeContainer = jQuery('#verify-code'); jQuery.get("https://0rxyymz0p0.execute-api.ca-central-1.amazonaws.com/prod/verify", { email: email, code: vcode }, null, 'json' ).done(function(response) { if (!!response['ccode']) { localStorage['osg_vcode'] = vcode; getCertificateId().done(function() { checkEmailButton.hide(); $codeContainer.hide(); $codeContainer.find('.vcode-invalid').hide(); }); } else { $codeContainer.find('.vcode-invalid').show(); } }); } function buttonHandler(event) { checkEmailButton[0].disabled = !this.value; if (event.keyCode == 13) { event.preventDefault(); checkEmailButton.click(); } }; jQuery('input[name=email]').on('keyup', buttonHandler); function getCertificateId() { return jQuery.get('https://0rxyymz0p0.execute-api.ca-central-1.amazonaws.com/prod/certid', { email: localStorage['osg_aoda_uid'] } ).done(function(response) { if (!!response['cert_id']) { window.cert_id = response['cert_id']; jQuery('.course-completed').show(); } else { jQuery('.course-started').show(); } }); } function continueCourse() { console.log('redirecting /course...'); window.location.replace('/course'); } function restartCourse() { jQuery.ajax({ url: "https://0rxyymz0p0.execute-api.ca-central-1.amazonaws.com/prod/restart", type: 'POST', data: JSON.stringify({ email: localStorage['osg_aoda_uid'] }), dataType: 'json', contentType: 'application/json', context: this }).done(function(response) { continueCourse(); }); } function animateButton(selector) { var $button = jQuery(selector); var spinner = jQuery('#spinner-resend'); jQuery(document).on('click', selector, function(event) { //event.preventDefault(); spinner.show(); var $i = $button.find('span'); $i.hide(); $button.animate({width: '5em', height: '3em'}); this.disabled = true; this.style.backgroundColor = '#0071bc'; }); } function stopAnimation($button) { //$button.css('background-color', ''); $button.find('.spinner').hide(); $button.find('span').show(); $button.get(0).disabled = false; $button.animate({width: '13em', height: '3em'}); } animateButton('#resend-btn'); function downloadCertificate(){ var btn = jQuery('#resend-btn'); //animateButton(btn); jQuery.get("https://0rxyymz0p0.execute-api.ca-central-1.amazonaws.com/prod/download_cert", { cert_id: window.cert_id } ).done(function(response) { stopAnimation(btn); var blob = blobUtil.base64StringToBlob(response['cert'], 'applicaction/pdf'); saveAs(blob, "certificate.pdf"); //localStorage['osg_aoda_uid'] }); } function resendCertificate() { var btn = jQuery('#resend-btn'); //animateButton(btn); jQuery.post("https://0rxyymz0p0.execute-api.ca-central-1.amazonaws.com/prod/cert", JSON.stringify({ cert_id: window.cert_id, email: localStorage['osg_aoda_uid'] }) ).done(function(response) { stopAnimation(btn); }); } jQuery('#aoda-online-form').submit(function(){ if (jQuery('#user-reg-form').is(":hidden")) { return false; } return true; }); jQuery(document) .on('click', '#continue-btn', continueCourse) .on('keypress', '#continue-btn', continueCourse); jQuery(document) .on('click', '#restart-btn', restartCourse) .on('keypress', '#restart-btn', restartCourse); jQuery(document) .on('click', '#restart-btn-2', restartCourse) .on('keypress', '#restart-btn-2', restartCourse); jQuery(document) .on('click', '#resend-btn', downloadCertificate) .on('keypress', '#resend-btn', downloadCertificate); </script> <script type="text/javascript" src="https://c0.wp.com/c/6.7.2/wp-includes/js/dist/hooks.min.js" id="wp-hooks-js"></script> <script type="text/javascript" src="https://c0.wp.com/c/6.7.2/wp-includes/js/dist/i18n.min.js" id="wp-i18n-js"></script> <script type="text/javascript" id="wp-i18n-js-after"> /* <![CDATA[ */ wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); /* ]]> */ </script> <script type="text/javascript" src="https://www.aoda.ca/wp-content/plugins/contact-form-7/includes/swv/js/index.js?ver=6.0.4" id="swv-js"></script> <script type="text/javascript" id="contact-form-7-js-before"> /* <![CDATA[ */ var wpcf7 = { "api": { "root": "https:\/\/www.aoda.ca\/wp-json\/", "namespace": "contact-form-7\/v1" } }; /* ]]> */ </script> <script type="text/javascript" src="https://www.aoda.ca/wp-content/plugins/contact-form-7/includes/js/index.js?ver=6.0.4" id="contact-form-7-js"></script> <script type="text/javascript" src="https://www.google.com/recaptcha/api.js?render=6LdE5pEUAAAAAGdnQApZsU5HU_agLpEHJ-gyPtWR&amp;ver=3.0" id="google-recaptcha-js"></script> <script type="text/javascript" src="https://c0.wp.com/c/6.7.2/wp-includes/js/dist/vendor/wp-polyfill.min.js" id="wp-polyfill-js"></script> <script type="text/javascript" id="wpcf7-recaptcha-js-before"> /* <![CDATA[ */ var wpcf7_recaptcha = { "sitekey": "6LdE5pEUAAAAAGdnQApZsU5HU_agLpEHJ-gyPtWR", "actions": { "homepage": "homepage", "contactform": "contactform" } }; /* ]]> */ </script> <script type="text/javascript" src="https://www.aoda.ca/wp-content/plugins/contact-form-7/modules/recaptcha/index.js?ver=6.0.4" id="wpcf7-recaptcha-js"></script> <script type="text/javascript" src="https://stats.wp.com/e-202508.js" id="jetpack-stats-js" data-wp-strategy="defer"></script> <script type="text/javascript" id="jetpack-stats-js-after"> /* <![CDATA[ */ _stq = window._stq || []; _stq.push([ "view", JSON.parse("{\"v\":\"ext\",\"blog\":\"7966363\",\"post\":\"8223\",\"tz\":\"-5\",\"srv\":\"www.aoda.ca\",\"j\":\"1:14.3\"}") ]); _stq.push([ "clickTrackerInit", "7966363", "8223" ]); /* ]]> */ </script> <link rel="stylesheet" href="https://pro.fontawesome.com/releases/v5.15.4/css/all.css" integrity="sha384-rqn26AG5Pj86AF4SO72RK5fyefcQ/x32DNQfChxWvbXIyXFePlEktwD18fEz+kQU" crossorigin="anonymous"> <script async="async" src="/aoda_cdn/js/uswds.js"></script> <script src="/aoda_cdn/js/MenubarItemLinks.js"></script> <script src="/aoda_cdn/js/MenubarLinks.js"></script> <script src="/aoda_cdn/js/PopupMenuItemLinks.js"></script> <script src="/aoda_cdn/js/PopupMenuLinks.js"></script> <script type="text/javascript"> if (document.getElementById('menubar1') != null) { var menubar = new Menubar(document.getElementById('menubar1')); menubar.init(); } </script> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <script> (adsbygoogle = window.adsbygoogle || []).push({ google_ad_client: "ca-pub-5829372317103943", enable_page_level_ads: true }); </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10