Experienced manual accessibility tester needed

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Part Time

WAGE / SALARY

N/A

HOURS PER WEEK

TBD

DATE UPDATED

Apr 12, 2026

JOB OVERVIEW

My name is Helen and I'm looking for an experienced manual accessibility tester to work with me on a freelance, per-audit basis.

Here's how the work is structured. I run an automated pipeline before any manual testing begins. It covers around 13 WCAG 2.2 criteria and pre-populates a custom audit tool with results, screenshots, and evidence. What I need from you is everything that comes after that.

Your work splits into two areas:

1. Spot-check verification — reviewing criteria the automation has flagged as passed, and confirming those calls are correct using NVDA, browser DevTools, BrowserStack, Stark, and physical device testing where relevant.

2. Manual completion — testing the remaining WCAG 2.2 A and AA criteria that automation cannot reliably cover. You will document your findings directly in the audit tool I provide, following the same evidence format the automation uses.

You'll receive the pre-populated audit tool, a JSON results file, and the list of URLs tested. All the context you need to get started will be with those files. Shared BrowserStack access will be provided where required.

What I'm looking for:
- Solid WCAG 2.2 A and AA knowledge at criterion level
- Genuine NVDA experience, not just familiarity
- Comfortable with BrowserStack, Stark, and browser DevTools
- Able to work from a structured brief without needing a lot of back and forth
- Available for roughly 4 audits per month on a consistent basis

I'm based in Bali, so timezone-wise we're close, which makes communication straightforward.

If this sounds like a good fit, please share experience you have, your availability, day rate, email address, and WhatsApp number and we can take it from there.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0258
Total Execution Time  0.0272
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,511,944 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Experienced-manual-accessibility-tester-needed-1622010
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0200 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1622010
 LIMIT 1 
0.0013   SELECT *
FROM `employers`
WHERE `employer_id` = 559636
 LIMIT 1 
0.0081   SELECT COUNT(DISTINCT t.id) as cnt
FROM 
`t_thread` `t`
INNER JOIN `t_message` `mON `t`.`id` = `m`.`thread_id`
INNER JOIN `t_message_employer` `eON `m`.`id` = `e`.`message_id`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1622010
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-06-20',ej.date_added) duration_daysDATEDIFF('2026-06-20',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-06-20',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1622010' 
0.0008   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1622010 
0.0007   UPDATE employer_jobs SET hit_counts '***Apr-12-2026=1216***Apr-13-2026=131***Apr-14-2026=89***Apr-15-2026=50***Apr-16-2026=40***Apr-17-2026=34***Apr-18-2026=36***Apr-19-2026=26***Apr-20-2026=46***Apr-21-2026=56***Apr-22-2026=35***Apr-23-2026=37***Apr-24-2026=41***Apr-25-2026=17***Apr-26-2026=18***Apr-27-2026=21***Apr-28-2026=19***Apr-29-2026=9***Apr-30-2026=19***May-01-2026=8***May-02-2026=18***May-03-2026=26***May-04-2026=24***May-05-2026=10***May-06-2026=10***May-07-2026=13***May-08-2026=8***May-09-2026=12***May-10-2026=12***May-11-2026=7***May-12-2026=22***May-13-2026=13***May-14-2026=17***May-15-2026=11***May-16-2026=10***May-17-2026=8***May-18-2026=11***May-19-2026=16***May-20-2026=6***May-21-2026=7***May-22-2026=6***May-23-2026=3***May-24-2026=3***May-25-2026=13***May-26-2026=5***May-27-2026=6***May-28-2026=17***May-29-2026=11***May-30-2026=7***May-31-2026=5***Jun-01-2026=6***Jun-02-2026=6***Jun-03-2026=10***Jun-04-2026=9***Jun-05-2026=7***Jun-06-2026=6***Jun-07-2026=9***Jun-08-2026=7***Jun-09-2026=7***Jun-10-2026=7***Jun-11-2026=10***Jun-12-2026=9***Jun-13-2026=6***Jun-20-2026=1' WHERE job_id'1622010'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Apr-2026=1938***May-2026=345***Jun-2026=100' WHERE job_id'1622010'  
0.0012   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1622010' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1622010 
0.0054   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '559636'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)