CINXE.COM
NV Access | Services
<!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 | Services</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' /> <style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style> <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.7.1"}}; /*! 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 > .image a img { width: 100%; } .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> <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.7.1' type='text/css' media='all' /> <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.7.1' 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'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--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--font-family--inter: "Inter", sans-serif;--wp--preset--font-family--cardo: Cardo;--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;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){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;} :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;} :root :where(.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.10' 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.10' 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.6.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.6.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.6.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='brands-styles-css' href='https://www.nvaccess.org/wp-content/plugins/woocommerce/assets/css/brands.css?ver=9.6.0' type='text/css' media='all' /> <link rel='stylesheet' id='reset-css' href='https://www.nvaccess.org/wp-content/themes/nvaccess2017/reset.css?ver=6.7.1' 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-0206052651' 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=8.3.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=8.3.2' 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" src="https://www.nvaccess.org/wp-content/plugins/woocommerce/assets/js/jquery-blockui/jquery.blockUI.min.js?ver=2.7.0-wc.9.6.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.6.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.6.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.6.0" id="woocommerce-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.7.1" id="site-js"></script> <script type="text/javascript" src="https://stats.wp.com/s-202508.js" id="woocommerce-analytics-js" defer="defer" data-wp-strategy="defer"></script> <link rel="https://api.w.org/" href="https://www.nvaccess.org/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.nvaccess.org/wp-json/wp/v2/pages/23656" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.nvaccess.org/xmlrpc.php?rsd" /> <meta name="generator" content="WordPress 6.7.1" /> <meta name="generator" content="WooCommerce 9.6.0" /> <link rel="canonical" href="https://www.nvaccess.org/services/" /> <link rel='shortlink' href='https://www.nvaccess.org/?p=23656' /> <link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://www.nvaccess.org/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.nvaccess.org%2Fservices%2F" /> <link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://www.nvaccess.org/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.nvaccess.org%2Fservices%2F&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="article" /> <meta property="og:title" content="Services" /> <meta property="og:url" content="https://www.nvaccess.org/services/" /> <meta property="og:description" content="Visit the post for more." /> <meta property="article:published_time" content="2017-07-05T23:32:46+00:00" /> <meta property="article:modified_time" content="2018-07-18T04:54:46+00:00" /> <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="Services" /> <meta name="twitter:card" content="summary" /> <meta name="twitter:description" content="Visit the post for more." /> <!-- End Jetpack Open Graph Tags --> <style class='wp-fonts-local' type='text/css'> @font-face{font-family:Inter;font-style:normal;font-weight:300 900;font-display:fallback;src:url('https://www.nvaccess.org/wp-content/plugins/woocommerce/assets/fonts/Inter-VariableFont_slnt,wght.woff2') format('woff2');font-stretch:normal;} @font-face{font-family:Cardo;font-style:normal;font-weight:400;font-display:fallback;src:url('https://www.nvaccess.org/wp-content/plugins/woocommerce/assets/fonts/cardo_normal_400.woff2') format('woff2');} </style> </head> <body class="page-template page-template-services page-template-services-php page page-id-23656 fixed-nav theme-nvaccess2017 woocommerce-no-js services" > <nav class="primary"> <div class="container"> <div class="navbar"> <h1 class="logo"><a href="/"><img src="/wp-content/legacy/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="/wp-content/legacy/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 menu-item-23664"><a href="/">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 current-menu-ancestor current-menu-parent 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 current-menu-item menu-item-23758"><a href="/services" aria-current="page">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-23656" class="post-23656 page type-page status-publish hentry"> <header class="services"> <div class="container"> <div class="row"> <h2>Windows Software Accessibility Consulting</h2> <div class="services-header__img"> <img src="/wp-content/legacy/images/services-header-img.png" alt="Mick and Jamie"> </div> </div> </div> </header> <div class="services-two"> <h4>If you are developing a Windows application and want it to be accessible to blind and vision impaired users, NV Access can help.</h4> <p>Whether you are developing a new application or improving an existing one, we can assess the accessibility of the application and provide high level advice, technical guidance and testing remains compatible with the world’s rapidly changing technology.</p> </div> <!-- services two --> <div class="clients section-title"> <div class="container"> <h2>Brands we’ve consulted with:</h2> <ul> <li><a href="http://google.com/"><img src="/wp-content/legacy/images/google.jpg" alt="google"></a></li> <li><a href="http://microsoft.com"><img src="/wp-content/legacy/images/microsoft-logo.jpg" alt="Microsoft"></a></li> <li><a href="http://adobe.com/"><img src="/wp-content/legacy/images/adobe.jpg" alt="Adobe"></a></li> <li><a href="http://www.nippon-foundation.or.jp/en/"><img src="/wp-content/legacy/images/nippon-foundation.jpg" alt="Nippon Foundation"></a></li> </ul> </div> </div> <!-- clients --> <div class="service-benefits section-title"> <div class="container"> <div class="row"> <h2>The benefits we can offer you.</h2> <ul> <li> <img src="/wp-content/legacy/images/reputation.png" alt=""> <h3>Reputation</h3> <p>We have a fantastic track record of accessibility consulting and are known as industry leaders. We’re trusted by the likes of Google, Adobe and Microsoft, so you know when you work with us, you’ll be in good hands.</p> </li> <li> <img src="/wp-content/legacy/images/innovation.png" alt=""> <h3>Innovation</h3> <p>We’re known for our outside-the-box, innovative thinking. No problem is too big — we are able to problem solve issues for even the most complex software products relied on by millions of users. </p> </li> <li> <img src="/wp-content/legacy/images/compliant.png" alt=""> <h3>Compliant</h3> <p>We are extremely thorough and understand the intricacies of accessibility law compliance. We will help your brand develop a great reputation for accessibility and protect you from legal issues.</p> </li> <li> <img src="/wp-content/legacy/images/understanding.png" alt=""> <h3>Unique Understanding</h3> <p>As blind people ourselves, we have a unique insider’s understanding into how blind people work with computers and what they need to ensure a simple, stress-free experience with your products. We bring an innate knowledge to the table.</p> </li> <li> <img src="/wp-content/legacy/images/solutions.png" alt=""> <h3>Effective Solutions</h3> <p>We are accessibility experts who have devoted our lives to understanding the complex nature of making software accessible. We provide a seamless experience and effective solutions that ensure you don’t lose traction.</p> </li> <li> <img src="/wp-content/legacy/images/empower.png" alt=""> <h3>Empower lives!</h3> <p>Hire us and you won’t just get an effective solution to your problem, but all the proceeds will go directly into the improvement and updates of NVDA, our free, globally accessible screen-reading software, which changes lives and empowers the blind and vision impaired community.</p> </li> </ul> </div> <!-- row --> </div> <!-- container --> </div> <!-- services benefits --> <div class="service-contact"> <h3>Contact us to enquire about a consulting project</h3> <p>Please email us at info@nvaccess.org to discuss your needs. We look forward to hearing from you.</p> </div> <!-- service contact --> </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="/wp-content/legacy/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="/wp-content/legacy/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-7th-february-2025/">In-Process 7th February 2025</a> </li> <li> <a href="https://www.nvaccess.org/post/nvda-roadmap/">NVDA Roadmap</a> </li> <li> <a href="https://www.nvaccess.org/post/in-process-20th-january-2025/">In-Process 20th January 2025</a> </li> <li> <a href="https://www.nvaccess.org/post/nvda-2024-4-2/">NVDA 2024.4.2 Released</a> </li> <li> <a href="https://www.nvaccess.org/post/nvda-2024-4-2rc1/">NVDA 2024.4.2rc1 available for testing</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-67b50d4327d5f", { linkTarget: "_self", showPreviewCards: true, excludeConversationStarters: false, content: { hideStatusMeta: false, hideDateTime: false }, images: { preserveImageAspectRatio: false, size: "preview", link: "status", }, 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-67b50d4327d5f">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"> © 2025 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'); let imageUrl = media.url; if(null !== media.remote_url) { imageUrl = media.remote_url; } else if('full' !== options.images.size && null !== media.preview_url) { imageUrl = media.preview_url; } mediaElemImgLink.href = status.url; if('image' === options.images.link) { mediaElemImgLink.href = media.remote_url ?? media.url; } mediaElemImgLink.style.backgroundImage = 'url("' + imageUrl + '")'; if(null !== media.description) { mediaElem.title = media.description; } if(options.images.preserveImageAspectRatio) { let mediaElemImgImage = mastodonFeedCreateElement('img'); mediaElemImgImage.src = imageUrl; mediaElemImgLink.appendChild(mediaElemImgImage); } 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; return createdInfo; } const mastodonFeedInjectEmoji = function(string, emoji) { return string.replaceAll(':' + emoji.shortcode + ':', '<img class="emoji" src="' + emoji.url + '" title="' + emoji.shortcode + '" />'); } const mastodonFeedRenderStatuses = function(statuses, rootElem, options) { if(statuses.length < 1) { 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 if(!options.content.hideStatusMeta) { 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)); if(!options.content.hideDateTime) { accountElem.appendChild(mastodonFeedCreateElementTimeinfo(status, options, (isReblog ? false : status.url))); } if(null !== status.edited_at) { accountElem.innerHTML += ' ' + options.text.edited; } 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='wc-stripe-blocks-checkout-style-css' href='https://www.nvaccess.org/wp-content/plugins/woocommerce-gateway-stripe/build/upe_blocks.css?ver=68605ba18cee2e40d3cf14446b691f91' type='text/css' media='all' /> <link rel='stylesheet' id='woocommercebulkdiscount-style-css' href='https://www.nvaccess.org/wp-content/plugins/woocommerce-bulk-discount/css/style.css?ver=6.7.1' 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.6.0' type='text/css' media='all' /> <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.10" id="wpmenucart-ajax-assist-js"></script> <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-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\":\"52250462\",\"post\":\"23656\",\"tz\":\"10\",\"srv\":\"www.nvaccess.org\",\"j\":\"1:14.2.1\"}") ]); _stq.push([ "clickTrackerInit", "52250462", "23656" ]); /* ]]> */ </script> </body> </html>