CINXE.COM

NV Access

<!DOCTYPE HTML> <!--[if IEMobile 7 ]><html class="no-js iem7" manifest="default.appcache?v=1"><![endif]--> <!--[if lt IE 7 ]><html class="no-js ie6" lang="en"><![endif]--> <!--[if IE 7 ]><html class="no-js ie7" lang="en"><![endif]--> <!--[if IE 8 ]><html class="no-js ie8" lang="en"><![endif]--> <!--[if (gte IE 9)|(gt IEMobile 7)|!(IEMobile)|!(IE)]><!--> <html class="no-js" lang="en"><!--<![endif]--> <head> <title>NV Access</title> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width, initial-scale=1.0"><!-- Remove if you're not building a responsive site. (But then why would you do such a thing?) --> <link rel="pingback" href="https://www.nvaccess.org/xmlrpc.php" /> <link rel="shortcut icon" href="https://www.nvaccess.org/wp-content/themes/nvaccess2017/img/favicon.png"/> <!--[if IE]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <meta name='robots' content='max-image-preview:large' /> <script>window._wca = window._wca || [];</script> <link rel='dns-prefetch' href='//stats.wp.com' /> <link rel='dns-prefetch' href='//v0.wordpress.com' /> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/www.nvaccess.org\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.5.4"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); /* ]]> */ </script> <style> :root { --include-mastodon-feed-bg-light: rgba(100, 100, 100, 0.15); --include-mastodon-feed-bg-dark: rgba(155, 155, 155, 0.15); --include-mastodon-feed-accent-color: rgb(99, 100, 255); --include-mastodon-feed-accent-font-color: rgb(255, 255, 255); --include-mastodon-feed-border-radius: 0.25rem; } .include-mastodon-feed .status { margin: 0.5rem 0 1.5rem; border-radius: var(--include-mastodon-feed-border-radius); padding: 0.5rem; background: var(--include-mastodon-feed-bg-light); } .include-mastodon-feed .status a { color: var(--include-mastodon-feed-accent-color); text-decoration: none; word-wrap: break-word; } .include-mastodon-feed .status a:hover { text-decoration: underline; } .include-mastodon-feed .avatar { height: 1.25rem; border-radius: var(--include-mastodon-feed-border-radius); vertical-align: top; } .include-mastodon-feed .account { font-size: 0.8rem; } .include-mastodon-feed .account a { display: inline-block; } .include-mastodon-feed .account .booster { float: right; font-style: italic; } .include-mastodon-feed .boosted .account > a:first-child, .include-mastodon-feed .contentWarning a { border-radius: var(--include-mastodon-feed-border-radius); padding: 0.15rem 0.5rem; background: var(--include-mastodon-feed-accent-color); color: var(--include-mastodon-feed-accent-font-color); } .include-mastodon-feed .boosted .account > a:first-child:hover, .include-mastodon-feed .contentWarning a:hover { border-radius: var(--include-mastodon-feed-border-radius); padding: 0.15rem 0.5rem; background: var(--include-mastodon-feed-accent-font-color); color: var(--include-mastodon-feed-accent-color); text-decoration: none; } .include-mastodon-feed .contentWrapper.boosted { margin: 0.5rem 0; padding: 0.5rem; background: var(--include-mastodon-feed-bg-light); } .include-mastodon-feed .contentWarning { text-align: center; margin: 1rem; padding: 1rem; } .include-mastodon-feed .contentWarning .title { font-weight: bold; } .include-mastodon-feed img.emoji { height: 1rem; } .include-mastodon-feed .content .invisible { display: none; } .include-mastodon-feed .media { display: flex; justify-content: space-around; align-items: center; flex-wrap: wrap; gap: 0.5rem; margin: 1rem; } .include-mastodon-feed .media > div { flex-basis: calc(50% - 0.5rem); flex-grow: 1; } .include-mastodon-feed .media > .image { font-size: 0.8rem; font-weight: bold; text-align: center; } .include-mastodon-feed .media > .image a { border-radius: var(--include-mastodon-feed-border-radius); display: block; aspect-ratio: 1.618; background-size: cover; background-position: center; } .include-mastodon-feed .media > .image a:hover { filter: contrast(110%) brightness(130%) saturate(130%); } .include-mastodon-feed .media > .gifv video { max-width: 100%; } .include-mastodon-feed .card { border-radius: var(--include-mastodon-feed-border-radius); margin: 1rem 0.5rem; } .include-mastodon-feed .card iframe { border-radius: var(--include-mastodon-feed-border-radius); width: 100%; height: 100%; aspect-ratio: 2 / 1.25; } .include-mastodon-feed .card a { border-radius: var(--include-mastodon-feed-border-radius); display: block; text-decoration: none; color: #000; } .include-mastodon-feed.dark .card a { color: #fff; } .include-mastodon-feed .card a:hover { text-decoration: none; background: var(--include-mastodon-feed-accent-color); color: var(--include-mastodon-feed-accent-font-color); } .include-mastodon-feed .card .meta { background: var(--include-mastodon-feed-bg-light); font-size: 0.8rem; padding: 1rem; } .include-mastodon-feed .card .image { margin-bottom: 0.5rem; text-align: center; } .include-mastodon-feed .card .image img { max-width: 75%; } .include-mastodon-feed .card .title { font-weight: bold; } .include-mastodon-feed.dark .status, .include-mastodon-feed.dark .contentWrapper.boosted, .include-mastodon-feed.dark .card { background: var(--include-mastodon-feed-bg-dark); } </style> <link rel='stylesheet' id='wc-stripe-blocks-checkout-style-css' href='https://www.nvaccess.org/wp-content/plugins/woocommerce-gateway-stripe/build/upe_blocks.css?ver=9721965e3d4217790b0c028bc16f3960' type='text/css' media='all' /> <style id='wp-emoji-styles-inline-css' type='text/css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://www.nvaccess.org/wp-includes/css/dist/block-library/style.min.css?ver=6.5.4' type='text/css' media='all' /> <style id='wp-block-library-inline-css' type='text/css'> .has-text-align-justify{text-align:justify;} </style> <link rel='stylesheet' id='mediaelement-css' href='https://www.nvaccess.org/wp-includes/js/mediaelement/mediaelementplayer-legacy.min.css?ver=4.2.17' type='text/css' media='all' /> <link rel='stylesheet' id='wp-mediaelement-css' href='https://www.nvaccess.org/wp-includes/js/mediaelement/wp-mediaelement.min.css?ver=6.5.4' 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> <style id='classic-theme-styles-inline-css' type='text/css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id='global-styles-inline-css' type='text/css'> body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}body .is-layout-grid{display: grid;}body .is-layout-grid > *{margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} .wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} .wp-block-pullquote{font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='wpmenucart-icons-css' href='https://www.nvaccess.org/wp-content/plugins/woocommerce-menu-bar-cart/assets/css/wpmenucart-icons.min.css?ver=2.14.3' type='text/css' media='all' /> <style id='wpmenucart-icons-inline-css' type='text/css'> @font-face{font-family:WPMenuCart;src:url(https://www.nvaccess.org/wp-content/plugins/woocommerce-menu-bar-cart/assets/fonts/WPMenuCart.eot);src:url(https://www.nvaccess.org/wp-content/plugins/woocommerce-menu-bar-cart/assets/fonts/WPMenuCart.eot?#iefix) format('embedded-opentype'),url(https://www.nvaccess.org/wp-content/plugins/woocommerce-menu-bar-cart/assets/fonts/WPMenuCart.woff2) format('woff2'),url(https://www.nvaccess.org/wp-content/plugins/woocommerce-menu-bar-cart/assets/fonts/WPMenuCart.woff) format('woff'),url(https://www.nvaccess.org/wp-content/plugins/woocommerce-menu-bar-cart/assets/fonts/WPMenuCart.ttf) format('truetype'),url(https://www.nvaccess.org/wp-content/plugins/woocommerce-menu-bar-cart/assets/fonts/WPMenuCart.svg#WPMenuCart) format('svg');font-weight:400;font-style:normal;font-display:swap} </style> <link rel='stylesheet' id='wpmenucart-css' href='https://www.nvaccess.org/wp-content/plugins/woocommerce-menu-bar-cart/assets/css/wpmenucart-main.min.css?ver=2.14.3' type='text/css' media='all' /> <link rel='stylesheet' id='woocommerce-layout-css' href='https://www.nvaccess.org/wp-content/plugins/woocommerce/assets/css/woocommerce-layout.css?ver=9.0.0' type='text/css' media='all' /> <style id='woocommerce-layout-inline-css' type='text/css'> .infinite-scroll .woocommerce-pagination { display: none; } </style> <link rel='stylesheet' id='woocommerce-smallscreen-css' href='https://www.nvaccess.org/wp-content/plugins/woocommerce/assets/css/woocommerce-smallscreen.css?ver=9.0.0' type='text/css' media='only screen and (max-width: 768px)' /> <link rel='stylesheet' id='woocommerce-general-css' href='https://www.nvaccess.org/wp-content/plugins/woocommerce/assets/css/woocommerce.css?ver=9.0.0' type='text/css' media='all' /> <style id='woocommerce-inline-inline-css' type='text/css'> .woocommerce form .form-row .required { visibility: visible; } </style> <link rel='stylesheet' id='reset-css' href='https://www.nvaccess.org/wp-content/themes/nvaccess2017/reset.css?ver=6.5.4' type='text/css' media='all' /> <link rel='stylesheet' id='screen-css' href='https://www.nvaccess.org/wp-content/themes/nvaccess2017/style.css?ver=3.0-1207024501' type='text/css' media='all' /> <link rel='stylesheet' id='wc-pb-checkout-blocks-css' href='https://www.nvaccess.org/wp-content/plugins/woocommerce-product-bundles/assets/css/frontend/checkout-blocks.css?ver=7.1.2' type='text/css' media='all' /> <link rel='stylesheet' id='wc-bundle-style-css' href='https://www.nvaccess.org/wp-content/plugins/woocommerce-product-bundles/assets/css/frontend/woocommerce.css?ver=7.1.2' type='text/css' media='all' /> <link rel='stylesheet' id='jetpack_css-css' href='https://www.nvaccess.org/wp-content/plugins/jetpack/css/jetpack.css?ver=13.5.1' type='text/css' media='all' /> <script type="text/javascript" src="https://www.nvaccess.org/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script type="text/javascript" src="https://www.nvaccess.org/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script> <script type="text/javascript" id="wpmenucart-ajax-assist-js-extra"> /* <![CDATA[ */ var wpmenucart_ajax_assist = {"shop_plugin":"woocommerce","always_display":""}; /* ]]> */ </script> <script type="text/javascript" src="https://www.nvaccess.org/wp-content/plugins/woocommerce-menu-bar-cart/assets/js/wpmenucart-ajax-assist.min.js?ver=2.14.3" id="wpmenucart-ajax-assist-js"></script> <script type="text/javascript" src="https://www.nvaccess.org/wp-content/plugins/woocommerce/assets/js/jquery-blockui/jquery.blockUI.min.js?ver=2.7.0-wc.9.0.0" id="jquery-blockui-js" defer="defer" data-wp-strategy="defer"></script> <script type="text/javascript" id="wc-add-to-cart-js-extra"> /* <![CDATA[ */ var wc_add_to_cart_params = {"ajax_url":"\/wp-admin\/admin-ajax.php","wc_ajax_url":"\/?wc-ajax=%%endpoint%%","i18n_view_cart":"View cart","cart_url":"https:\/\/www.nvaccess.org\/cart\/","is_cart":"","cart_redirect_after_add":"yes"}; /* ]]> */ </script> <script type="text/javascript" src="https://www.nvaccess.org/wp-content/plugins/woocommerce/assets/js/frontend/add-to-cart.min.js?ver=9.0.0" id="wc-add-to-cart-js" defer="defer" data-wp-strategy="defer"></script> <script type="text/javascript" src="https://www.nvaccess.org/wp-content/plugins/woocommerce/assets/js/js-cookie/js.cookie.min.js?ver=2.1.4-wc.9.0.0" id="js-cookie-js" defer="defer" data-wp-strategy="defer"></script> <script type="text/javascript" id="woocommerce-js-extra"> /* <![CDATA[ */ var woocommerce_params = {"ajax_url":"\/wp-admin\/admin-ajax.php","wc_ajax_url":"\/?wc-ajax=%%endpoint%%"}; /* ]]> */ </script> <script type="text/javascript" src="https://www.nvaccess.org/wp-content/plugins/woocommerce/assets/js/frontend/woocommerce.min.js?ver=9.0.0" id="woocommerce-js" defer="defer" data-wp-strategy="defer"></script> <script type="text/javascript" src="https://stats.wp.com/s-202447.js" id="woocommerce-analytics-js" defer="defer" data-wp-strategy="defer"></script> <script type="text/javascript" src="https://www.nvaccess.org/wp-content/themes/nvaccess2017/js/site.js?ver=6.5.4" id="site-js"></script> <link rel="https://api.w.org/" href="https://www.nvaccess.org/wp-json/" /><link rel="alternate" type="application/json" href="https://www.nvaccess.org/wp-json/wp/v2/pages/23651" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.nvaccess.org/xmlrpc.php?rsd" /> <meta name="generator" content="WordPress 6.5.4" /> <meta name="generator" content="WooCommerce 9.0.0" /> <link rel="canonical" href="https://www.nvaccess.org/" /> <link rel='shortlink' href='https://www.nvaccess.org/' /> <link rel="alternate" type="application/json+oembed" href="https://www.nvaccess.org/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.nvaccess.org%2F" /> <link rel="alternate" type="text/xml+oembed" href="https://www.nvaccess.org/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.nvaccess.org%2F&#038;format=xml" /> <style>img#wpstats{display:none}</style> <noscript><style>.woocommerce-product-gallery{ opacity: 1 !important; }</style></noscript> <!-- Jetpack Open Graph Tags --> <meta property="og:type" content="website" /> <meta property="og:title" content="NV Access" /> <meta property="og:description" content="Empowering lives through non-visual access to technology" /> <meta property="og:url" content="https://www.nvaccess.org/" /> <meta property="og:site_name" content="NV Access" /> <meta property="og:image" content="https://s0.wp.com/i/blank.jpg" /> <meta property="og:image:alt" content="" /> <meta property="og:locale" content="en_US" /> <meta name="twitter:site" content="@nvAccess" /> <meta name="twitter:text:title" content="Homepage" /> <meta name="twitter:card" content="summary" /> <!-- End Jetpack Open Graph Tags --> </head> <body class="home page-template page-template-page-new-homepage page-template-page-new-homepage-php page page-id-23651 fixed-nav theme-nvaccess2017 woocommerce-no-js homepage" > <nav class="primary"> <div class="container"> <div class="navbar"> <h1 class="logo"><a href="/"><img src="/images/logo.png" alt="NV Access Empowering lives through non-visual access to technology"></a></h1> <a href="/support-us/#donation-support" class="donate-btn">Donate</a> <input type="checkbox" id="menu"> <label for="menu" class="menu-btn"><img src="/images/menu-icon.png" alt=""></label> <ul id="menu-primary-menu" class="navbar__list main-navigation"><li id="menu-item-23664" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-23664"><a href="/" aria-current="page">Home</a></li> <li id="menu-item-23665" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-23665"><a href="/about-nv-access">About</a> <ul class="sub-menu"> <li id="menu-item-23666" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-23666"><a href="/about-nv-access">About NV Access</a></li> <li id="menu-item-23667" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-23667"><a href="/about-nvda">About NVDA</a></li> <li id="menu-item-23668" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-23668"><a href="/testimonials">Testimonials</a></li> </ul> </li> <li id="menu-item-23669" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-23669"><a href="/download">Download</a></li> <li id="menu-item-23670" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-23670"><a href="/get-help">Get Help</a></li> <li id="menu-item-23671" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-23671"><a href="/corporate-government">Corporate / Government</a> <ul class="sub-menu"> <li id="menu-item-23757" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-23757"><a href="/corporate-government">Corporate / Government Procurement and rollout</a></li> <li id="menu-item-23758" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-23758"><a href="/services">Consulting / Development Services</a></li> </ul> </li> <li id="menu-item-27934" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-27934"><a href="https://www.nvaccess.org/category/in-process/">Blog</a> <ul class="sub-menu"> <li id="menu-item-23672" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-23672"><a href="/news">News</a></li> </ul> </li> <li id="menu-item-23673" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-23673"><a href="/support-us">Support Us</a></li> <li id="menu-item-23674" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-23674"><a href="/shop">Shop</a></li> <li id="menu-item-30257" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-30257"><a href="https://www.nvaccess.org/my-account">Create Account / Log In</a></li> </ul> </div> </div> </nav> <div id="content" role="main"> <article id="post-23651" class="post-23651 page type-page status-publish hentry"> <img alt="" src="/images/header-small-bg.jpg" class="header-mobile"> <header class="home header-title"> <div class="container"> <div class="home-header__title"> <h2><span role="presentation">We believe that&nbsp;</span> every Blind + Vision Impaired person <span role="presentation">Deserves the right to&nbsp;</span> freely &amp; easily access a computer!</h2> </div> <!-- header title --> </div> <!-- container --> </header> <div class="home-tagline"> <div class="container"> <p>We create the software which makes that possible</p> </div> </div> <!-- home tagline --> <div class="testimonials-container"> <div class="video-container"> <div class='embed-container'><iframe src='https://www.youtube.com/embed/Ks7AwV_uxO0' frameborder='0' allowfullscreen></iframe></div> </div> </div> <div class="fact section-title"> <div class="container"> <h2>The Facts</h2> <div class="row"> <div class="fact-item"> <img src="/images/fact-1.png" alt=""> <h3>Millions of People</h3> <p>There are 285 million blind &#038; vision impaired people in the world. They all have amazing gifts to contribute to society, but they need the right tools to realise their dreams.</p> </div> <div class="fact-item"> <img src="/images/fact-2.png" alt=""> <h3>Technology Is The Key</h3> <p>Technology opens up so many doors. But for those of us without sight, computers don&#8217;t work straight out of the box. Software called a &#8220;screen reader&#8221; is needed to translate visual information verbally, so we can make sense of what is on screen.</p> </div> <div class="fact-item"> <img src="/images/fact-3.png" alt=> <h3>The Issue</h3> <p>Unfortunately many screen readers cost thousands of dollars — often more than the computer itself. This holds millions of people back from affording to use a computer and discovering their potential.</p> </div> <div class="fact-item"> <img src="/images/fact-4.png" alt=""> <h3>A Free Solution</h3> <p>We have spent over 15 years developing the global solution: a free, high quality screen reader, accessible to all! NVDA: Non-Visual Desktop Access. We have already enabled 200,000+ people to gain freedom, education and employment!</p> </div> </div> </div> </div> <div class="involved section-title"> <div class="container"> <h2>How to get involved</h2> <ul class="involved-item"> <li><a href="/download/">Download the <span role="presentation">NVDA&nbsp;</span> Screen Reader</a></li> <li><a href="/support-us/"><span role="presentation">Support&nbsp;</span> NV Access</a></li> <li><a href="/shop/"><span role="presentation">Training&nbsp;</span> &#038; Support Materials</a></li> </ul> </div> <!-- container --> </div> <!-- involved --> <div class="manifesto"> <div class="container-fluid"> <div class="developers"> <h3>Hi, We’re Mick &#038; Jamie</h3> <img src="/images/mick-and-jamie.png" alt=""> </div> <div class="manifesto__text section-title learn-more"> <h2>Our Manifesto</h2> <ul> <li><span>Access to technology no matter your language, location or financial situation</span></li> <li>Quality over growth, access over profit</li> <li><span>Software by the blind, for the blind</span></li> <li>Ensuring innovation + preventing stagnation through competition</li> <li><span>Uncompromising Quality Software</span></li> <li>Serving minorities, not just the majority consumer</li> </ul> <a href="/about-nv-access/">Learn more about us and what we believe in</a> </div> </div> <!-- container --> </div> <!-- manifesto --> <div class="clients section-title"> <div class="container"> <h2>We’re trusted and supported by</h2> <ul> <li><a href="http://google.com/"><img src="/images/google.jpg" alt="google"></a></li> <li><a href="http://microsoft.com"><img src="/images/microsoft-logo.jpg" alt="Microsoft"></a></li> <li><a href="http://adobe.com/"><img src="/images/adobe.jpg" alt="Adobe"></a></li> <li><a href="http://www.nippon-foundation.or.jp/en/"><img src="/images/nippon-foundation.jpg" alt="Nippon Foundation"></a></li> </ul> <div class="learn-more"> <a href="/services/">Learn more about our accessibility consultation services</a> </div> </div> </div> <!-- clients --> <div class="featured-project section-title-v2"> <div class="container"> <h2>Featured Products</h2> <div class="woocommerce columns-3 "><ul class="products columns-3"> <li class="product type-product post-12782 status-publish first instock product_cat-uncategorized has-post-thumbnail downloadable virtual taxable purchasable product-type-simple"> <a href="https://www.nvaccess.org/product/basic-training-for-nvda-ebook/" class="woocommerce-LoopProduct-link woocommerce-loop-product__link"><img width="556" height="740" src="https://www.nvaccess.org/wp-content/uploads/2016/04/cover-556x740.jpg" class="attachment-woocommerce_thumbnail size-woocommerce_thumbnail" alt="Cover image for book, which is white with purple triangles on the right corners covering about a quarter of the cover. Title &#039;Basic Training for NVDA&#039; and format &#039;Electronic text&#039; in purple on white. NVDA logo top-right, NV Access logo lower-right both in white on purple. Sunburst designs around cover in lighter purple. Full description of NVDA and NV Access logos available on &#039;About NVDA&#039; and &#039;About NV Access&#039; pages on nvaccess.com" decoding="async" fetchpriority="high" srcset="https://www.nvaccess.org/wp-content/uploads/2016/04/cover-556x741.jpg 556w, https://www.nvaccess.org/wp-content/uploads/2016/04/cover-502x669.jpg 502w, https://www.nvaccess.org/wp-content/uploads/2016/04/cover-768x1024.jpg 768w, https://www.nvaccess.org/wp-content/uploads/2016/04/cover.jpg 1062w" sizes="(max-width: 556px) 100vw, 556px" /><h2 class="woocommerce-loop-product__title">Basic Training for NVDA <span>(eBook)</span></h2> <span class="price"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">AUD $</span>35.20</bdi></span></span> </a><a href="?add-to-cart=12782" aria-describedby="woocommerce_loop_add_to_cart_link_describedby_12782" data-quantity="1" class="button product_type_simple add_to_cart_button ajax_add_to_cart" data-product_id="12782" data-product_sku="" aria-label="Add to cart: &ldquo;Basic Training for NVDA (eBook)&rdquo;" rel="nofollow">Add to cart</a><span id="woocommerce_loop_add_to_cart_link_describedby_12782" class="screen-reader-text"> </span> </li> <li class="product type-product post-24033 status-publish instock product_cat-uncategorized has-post-thumbnail sale featured downloadable virtual taxable purchasable product-type-bundle"> <a href="https://www.nvaccess.org/product/nvda-productivity-bundle/" class="woocommerce-LoopProduct-link woocommerce-loop-product__link"> <span class="onsale">Sale!</span> <img width="556" height="740" src="https://www.nvaccess.org/wp-content/uploads/2019/02/NVDA-Productivity-Bundle-2-556x740.jpg" class="attachment-woocommerce_thumbnail size-woocommerce_thumbnail" alt="Cover image for product, which is purple with turquoise triangle top-left and orange triangle bottom-left, between them covering about a quarter of the cover. Title &#039;NVDA Productivity Bundle&#039; in white on purple. NVDA logo top-right in white, NV Access logo lower-left in purple on orange. Sunburst designs around cover in lighter purple. Cover appears to be stacked on top of other product covers. Full description of NVDA and NV Access logos available on &#039;About NVDA&#039; and &#039;About NV Access&#039; pages on nvaccess.com" decoding="async" /><h2 class="woocommerce-loop-product__title">NVDA Productivity Bundle</h2> <span class="price"><del aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">AUD $</span>247.50</bdi></span></del> <span class="screen-reader-text">Original price was: AUD $247.50.</span><ins aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">AUD $</span>218.90</bdi></span></ins><span class="screen-reader-text">Current price is: AUD $218.90.</span></span> </a><a href="/?add-to-cart=24033" aria-describedby="woocommerce_loop_add_to_cart_link_describedby_24033" data-quantity="1" class="button product_type_bundle add_to_cart_button ajax_add_to_cart" data-product_id="24033" data-product_sku="" aria-label="Read more about &ldquo;NVDA Productivity Bundle&rdquo;" rel="nofollow">Add to cart</a><span id="woocommerce_loop_add_to_cart_link_describedby_24033" class="screen-reader-text"> </span> </li> <li class="product type-product post-26396 status-publish last instock product_cat-uncategorized has-post-thumbnail taxable shipping-taxable product-type-external"> <a href="https://www.nvaccess.org/product/nvda-expert-certification/" class="woocommerce-LoopProduct-link woocommerce-loop-product__link"><img width="556" height="740" src="https://www.nvaccess.org/wp-content/uploads/2021/09/NVDA-Certification-Shop-Icon-556x740.jpg" class="attachment-woocommerce_thumbnail size-woocommerce_thumbnail" alt="NVDA Expert Certification image (NVDA logo with a ribbon and wearing a mortarboard)." decoding="async" srcset="https://www.nvaccess.org/wp-content/uploads/2021/09/NVDA-Certification-Shop-Icon-556x741.jpg 556w, https://www.nvaccess.org/wp-content/uploads/2021/09/NVDA-Certification-Shop-Icon-502x669.jpg 502w, https://www.nvaccess.org/wp-content/uploads/2021/09/NVDA-Certification-Shop-Icon-768x1024.jpg 768w, https://www.nvaccess.org/wp-content/uploads/2021/09/NVDA-Certification-Shop-Icon-1153x1536.jpg 1153w, https://www.nvaccess.org/wp-content/uploads/2021/09/NVDA-Certification-Shop-Icon-1537x2048.jpg 1537w, https://www.nvaccess.org/wp-content/uploads/2021/09/NVDA-Certification-Shop-Icon-scaled.jpg 1921w" sizes="(max-width: 556px) 100vw, 556px" /><h2 class="woocommerce-loop-product__title">NVDA Expert Certification</h2> <span class="price"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">AUD $</span>110.00</bdi></span></span> </a><a rel="nofollow noopener noreferrer" href="https://certification.nvaccess.org/" data-quantity="1" data-product_id="26396" data-product_sku="" class="button product_type_external" target="_blank">Go to NVDA Expert Certification</a><span id="woocommerce_loop_add_to_cart_link_describedby_26396" class="screen-reader-text"> </span> </li> </ul> </div> </div> </div> <!-- featured project--> <div class="container"> <div class="home-testimonial section-title-v2"> <h2>What our USERS SAY</h2> <p>&#8220;I am so thankful for the creation of NVDA. It has really changed my life. With NVDA, I do not have to worry about spending tons of extra money on third party software to use a computer. I can purchase any new computer that I want, and I can use it for the same cost as a sighted person.&#8221;</p> <p>– Reina Brown, United States</p> <BR><P><BR> <HR> <BR><P><BR> <H2 ID="socials">Social Media</H2> <STRONG> <P>Follow @NVAccess on: <A HREF="https://twitter.com/NVAccess">Twitter</A>, <a rel="me" href="https://fosstodon.org/@NVAccess">Mastodon</a>, <A HREF="https://www.facebook.com/NVAccess">Facebook</A>, <A HREF="https://www.linkedin.com/company/nv-access-limited/">LinkedIn</A>, <A HREF="https://youtube.com/user/NVAccessLimited">YouTube</A>, &#038; <A HREF="https://www.instagram.com/nvaccesslimited/">Instagram</A></P> </STRONG> <img alt="" src="https://www.nvaccess.org/wp-content/uploads/2022/11/SocialMediaSmall.jpg"> </div> <!-- home testimonial--> </div> </article> </div> <footer> <div class="container footer"> <div class="row footer-widgets"> <div id="text-4" class="footer__col widget_text"> <div class="acnc-tick-narrow"> <a href="https://www.acnc.gov.au/charity/charities/3e3e23ea-38af-e811-a961-000d3ad24182/profile"> <img src="/images/acnc-tick.png" alt="ACNC registered charity tick"> </a> </div><h3 class="footer__title">About Us</h3> <div class="textwidget"><p>NV Access is a registered charity and software development company.</p> <p>We are the creators of NVDA, a free, open source, globally accessible screen reader for the blind and vision impaired.</p> </div> </div> <div class="acnc-tick-wide footer__col widget_text"> <a href="https://www.acnc.gov.au/charity/charities/3e3e23ea-38af-e811-a961-000d3ad24182/profile"> <img src="/images/acnc-tick.png" alt="ACNC registered charity tick"> </a> </div> <div id="recent-posts-2" class="footer__col widget_recent_entries"> <h3 class="footer__title">Recent Posts</h3> <ul> <li> <a href="https://www.nvaccess.org/post/in-process-15th-november-2024/">In-Process 15th November 2024</a> </li> <li> <a href="https://www.nvaccess.org/post/nvda-2024-4-1rc1/">NVDA 2024.4.1rc1 available for testing</a> </li> <li> <a href="https://www.nvaccess.org/post/nvda-2024-4-1/">NVDA 2024.4.1 Released</a> </li> <li> <a href="https://www.nvaccess.org/post/in-process-31st-october-2024/">In-Process 31st October 2024</a> </li> <li> <a href="https://www.nvaccess.org/post/nvda-2024-4/">NVDA 2024.4 Released</a> </li> </ul> </div><div id="text-5" class="footer__col widget_text"><h3 class="footer__title">@NVAccess on Mastodon</h3> <div class="textwidget"> <script> window.addEventListener("load", () => { mastodonFeedLoad( "https://fosstodon.org/api/v1/accounts/109311036687677246/statuses?limit=1&exclude_replies=true", "include-mastodon-feed-67424ac3ea26b", { linkTarget: "_self", showPreviewCards: true, excludeConversationStarters: false, text: { boosted: "boosted 🚀", noStatuses: "No statuses availablae", viewOnInstance: "view on instance", showContent: "Show content", permalinkPre: "on", permalinkPost: "", edited: "(edited)", }, localization: { date: { locale: "en-US", options: {}, } } } ); }); </script> <div class="include-mastodon-feed" id="include-mastodon-feed-67424ac3ea26b">Loading Mastodon feed...</div> </div> </div><div id="nav_menu-2" class="footer__col widget_nav_menu"><h3 class="footer__title">Useful Links</h3><div class="menu-footer-menu-container"><ul id="menu-footer-menu" class="menu"><li id="menu-item-23675" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-23675"><a href="/my-account">My Account</a></li> <li id="menu-item-23676" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-23676"><a href="/contact-us">Contact Us</a></li> <li id="menu-item-23677" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-23677"><a href="/support-us">Donate</a></li> <li id="menu-item-23678" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-23678"><a href="https://github.com/nvaccess/nvda/">Github</a></li> <li id="menu-item-23679" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-23679"><a href="/privacy">Privacy</a></li> <li id="menu-item-24439" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-24439"><a href="https://www.nvaccess.org/partners/">Partners</a></li> <li id="menu-item-24773" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-24773"><a href="https://www.nvaccess.org/category/news/releases/">Releases</a></li> <li id="menu-item-24951" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-24951"><a href="https://www.nvaccess.org/category/careers/">Careers</a></li> </ul></div></div> </div> </div> <div class="row footer-bottom-bar"> © 2024 NV Access Limited. All rights reserved. ABN 96 149 271 036 </div> </footer> <script> const mastodonFeedCreateElement = function(type, className = null) { let element = document.createElement(type); if(null !== className) { element.className = className; } return element; } const mastodonFeedCreateElementAccountLink = function(account) { let accountLinkElem = mastodonFeedCreateElement('a'); accountLinkElem.href = account.url; let accountImageElem = mastodonFeedCreateElement('img', 'avatar'); accountImageElem.src = account.avatar_static; accountLinkElem.addEventListener('mouseover', (event) => { accountLinkElem.querySelector('.avatar').src = account.avatar; }); accountLinkElem.addEventListener('mouseout', (event) => { accountLinkElem.querySelector('.avatar').src = account.avatar_static; }); accountLinkElem.appendChild(accountImageElem); // inject emojis let displayName = account.display_name; if(account.emojis.length > 0) { account.emojis.forEach(function(emoji) { displayName = mastodonFeedInjectEmoji(displayName, emoji); }); } accountLinkElem.innerHTML += ' ' + displayName; return accountLinkElem; } const mastodonFeedCreateElementPermalink = function(status, label) { let linkElem = mastodonFeedCreateElement('a'); linkElem.href = status.url; linkElem.appendChild(document.createTextNode(label)); return linkElem; } const mastodonFeedCreateElementMediaAttachments = function(status, options) { let attachments = status.media_attachments; let mediaWrapperElem = mastodonFeedCreateElement('div', 'media'); for(let mediaIndex = 0; mediaIndex < attachments.length; mediaIndex++) { let media = attachments[mediaIndex]; let mediaElem = mastodonFeedCreateElement('div', media.type); if('image' == media.type) { let mediaElemImgLink = mastodonFeedCreateElement('a'); mediaElemImgLink.href = status.url; if(null === media.remote_url) { mediaElemImgLink.style.backgroundImage = 'url("' + media.preview_url + '")'; } else { mediaElemImgLink.style.backgroundImage = 'url("' + media.remote_url + '")'; } if(null !== media.description) { mediaElem.title = media.description; } mediaElem.appendChild(mediaElemImgLink); } else if('gifv' == media.type) { let mediaElemGifvLink = mastodonFeedCreateElement('a'); mediaElemGifvLink.href = status.url; let mediaElemGifv = mastodonFeedCreateElement('video', 'requiresInteraction'); if(null === media.remote_url) { mediaElemGifv.src = media.url; } else { mediaElemGifv.src = media.remote_url; } mediaElemGifv.loop = true; mediaElemGifv.muted = 'muted'; if(null !== media.description) { mediaElemGifv.title = media.description; } mediaElemGifvLink.appendChild(mediaElemGifv); mediaElem.appendChild(mediaElemGifvLink); mediaElemGifv.addEventListener('mouseover', (event) => { mediaElemGifv.play(); }); mediaElemGifv.addEventListener('mouseout', (event) => { mediaElemGifv.pause(); mediaElemGifv.currentTime = 0; }); } else { // TODO implement support for other media types // currently only image and gifv support implemented mediaElem.innerHTML = 'Stripped ' + media.type + ' - only available on instance<br />'; let permalinkElem = mastodonFeedCreateElement('span', 'permalink'); permalinkElem.appendChild(mastodonFeedCreateElementPermalink(status, options.text.viewOnInstance)); mediaElem.appendChild(permalinkElem); } mediaWrapperElem.appendChild(mediaElem); } return mediaWrapperElem; } const mastodonFeedCreateElementPreviewCard = function(card) { let cardElem = mastodonFeedCreateElement('div', 'card'); if(null === card.html || card.html.length < 1) { let cardElemMeta = mastodonFeedCreateElement('div', 'meta'); if(null !== card.image) { let cardElemImageWrapper = mastodonFeedCreateElement('div', 'image'); let cardElemImage = mastodonFeedCreateElement('img'); cardElemImage.src = card.image; cardElemImageWrapper.appendChild(cardElemImage); cardElemMeta.appendChild(cardElemImageWrapper); } let cardElemTitle = mastodonFeedCreateElement('div', 'title'); cardElemTitle.innerHTML = card.title; cardElemMeta.appendChild(cardElemTitle); let cardElemDescription = mastodonFeedCreateElement('div', 'description'); cardElemDescription.innerHTML = card.description; cardElemMeta.appendChild(cardElemDescription); if(card.url === null) { cardElem.appendChild(cardElemMeta); } else { let cardElemLink = mastodonFeedCreateElement('a'); cardElemLink.href = card.url; cardElemLink.appendChild(cardElemMeta); cardElem.appendChild(cardElemLink); } } else { cardElem.innerHTML = card.html; } return cardElem; } const mastodonFeedCreateElementTimeinfo = function(status, options, url = false) { let createdInfo = mastodonFeedCreateElement('span', 'permalink'); createdInfo.innerHTML = ' ' + options.text.permalinkPre + ' '; if(false === url) { createdInfo.innerHTML += new Date(status.created_at).toLocaleString(options.localization.date.locale, options.localization.date.options); } else { createdInfo.appendChild(mastodonFeedCreateElementPermalink(status, new Date(status.created_at).toLocaleString(options.localization.date.locale, options.localization.date.options))); } createdInfo.innerHTML += ' ' + options.text.permalinkPost + ' '; if(null !== status.edited_at) { createdInfo.innerHTML += ' ' + options.text.edited; } return createdInfo; } const mastodonFeedInjectEmoji = function(string, emoji) { return string.replace(':' + emoji.shortcode + ':', '<img class="emoji" src="' + emoji.url + '" title="' + emoji.shortcode + '" />'); } const mastodonFeedRenderStatuses = function(statuses, rootElem, options) { if(statuses.length < 1) { console.log(options); rootElem.innerHTML = options.text.noStatuses; } else { for(let i = 0; i < statuses.length; i++) { let status = statuses[i]; let isEdited = (null === status.edited_at ? true : false); let isReblog = (null === status.reblog ? false : true); let statusElem = mastodonFeedCreateElement('div', 'status'); // add account meta info let accountElem = mastodonFeedCreateElement('div', 'account'); if(isReblog) { let boosterElem = mastodonFeedCreateElement('span', 'booster'); boosterElem.appendChild(document.createTextNode( options.text.boosted )); accountElem.appendChild(boosterElem); } accountElem.appendChild(mastodonFeedCreateElementAccountLink(status.account)); accountElem.appendChild(mastodonFeedCreateElementTimeinfo(status, options, (isReblog ? false : status.url))); statusElem.appendChild(accountElem); // prepare content rendering let showStatus = status; if(isReblog) { showStatus = status.reblog; } let contentWrapperElem = mastodonFeedCreateElement('div', 'contentWrapper' + (isReblog ? ' boosted' : '')); // add boosted post meta info if(isReblog) { let boostElem = mastodonFeedCreateElement('div', 'account'); let boostAccountLink = mastodonFeedCreateElementAccountLink(showStatus.account); boostElem.appendChild(boostAccountLink); boostElem.appendChild(mastodonFeedCreateElementTimeinfo(showStatus, options, showStatus.url)); contentWrapperElem.appendChild(boostElem); } let contentElem = mastodonFeedCreateElement('div', 'content'); // handle content warnings if(showStatus.sensitive || showStatus.spoiler_text.length > 0) { let cwElem = mastodonFeedCreateElement('div', 'contentWarning'); if(showStatus.spoiler_text.length > 0) { let cwTitleElem = mastodonFeedCreateElement('div', 'title'); cwTitleElem.innerHTML = showStatus.spoiler_text; cwElem.appendChild(cwTitleElem); } let cwLinkElem = mastodonFeedCreateElement('a'); cwLinkElem.href = '#'; cwLinkElem.onclick = function() { this.parentElement.style = 'display: none;'; this.parentElement.nextSibling.style = 'display: block;'; return false; } cwLinkElem.innerHTML = options.text.showContent; cwElem.appendChild(cwLinkElem); contentWrapperElem.appendChild(cwElem); contentElem.style = 'display: none;'; } // add regular content let renderContent = showStatus.content; // inject emojis if(showStatus.emojis.length > 0) { showStatus.emojis.forEach(function(emoji) { renderContent = mastodonFeedInjectEmoji(renderContent, emoji); }); } contentElem.innerHTML += renderContent; // handle media attachments if(showStatus.media_attachments.length > 0) { let mediaAttachmentsElem = mastodonFeedCreateElementMediaAttachments(showStatus, options); contentElem.appendChild(mediaAttachmentsElem); } // handle preview card if(options.showPreviewCards && showStatus.card != null) { let cardElem = mastodonFeedCreateElementPreviewCard(showStatus.card); contentElem.appendChild(cardElem); } contentWrapperElem.appendChild(contentElem); statusElem.appendChild(contentWrapperElem); rootElem.appendChild(statusElem); } } if('_self' != options.linkTarget) { rootElem.querySelectorAll('a').forEach(function(e) { e.target = options.linkTarget; }); } } const mastodonFeedLoad = function(url, elementId, options) { const xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.responseType = 'json'; xhr.onload = function() { const statuses = xhr.response; const rootElem = document.getElementById(elementId); rootElem.innerHTML = ''; if (xhr.status === 200) { if(options.excludeConversationStarters && statuses.length > 0) { const filteredStatuses = []; for(let i = 0; i < statuses.length; i++) { let includeStatus = true; if(statuses[i].mentions.length > 0) { const statusContent = document.createElement('div'); statusContent.innerHTML = statuses[i].content; const mentionUsername = statuses[i].mentions[0].acct.split('@')[0]; const plainTextContent = statusContent.textContent || statusContent.innerText; if(plainTextContent.substring(1, ('@' + mentionUsername).length) == mentionUsername) { includeStatus = false; } } if(includeStatus) { filteredStatuses.push(statuses[i]); } } mastodonFeedRenderStatuses(filteredStatuses, rootElem, options); } else { mastodonFeedRenderStatuses(statuses, rootElem, options); } } else { rootElem.appendChild(document.createTextNode(xhr.response.error)); } }; xhr.send(); } </script> <script type='text/javascript'> (function () { var c = document.body.className; c = c.replace(/woocommerce-no-js/, 'woocommerce-js'); document.body.className = c; })(); </script> <link rel='stylesheet' id='woocommercebulkdiscount-style-css' href='https://www.nvaccess.org/wp-content/plugins/woocommerce-bulk-discount/css/style.css?ver=6.5.4' type='text/css' media='all' /> <link rel='stylesheet' id='wc-blocks-style-css' href='https://www.nvaccess.org/wp-content/plugins/woocommerce/assets/client/blocks/wc-blocks.css?ver=wc-9.0.0' type='text/css' media='all' /> <script type="text/javascript" src="https://www.nvaccess.org/wp-content/themes/nvaccess2017/js/a11yFixes.js?ver=1.0" id="a11yFixes-js"></script> <script type="text/javascript" src="https://stats.wp.com/e-202447.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\":\"52250462\",\"post\":\"23651\",\"tz\":\"10\",\"srv\":\"www.nvaccess.org\",\"j\":\"1:13.5.1\"}") ]); _stq.push([ "clickTrackerInit", "52250462", "23651" ]); /* ]]> */ </script> </body> </html>

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