IS 5568 & WCAG AA Accessibility Audit (Hebrew)
Pricing
from $40.00 / 1,000 page auditeds
IS 5568 & WCAG AA Accessibility Audit (Hebrew)
IS 5568 (Israeli accessibility standard, WCAG 2.0 AA) audit in a real browser with axe-core. Element screenshots, flat violation rows, and a Hebrew legal-citation PDF (Equal Rights law section 19na). Automated scan only, not legal advice. Failed or blocked pages are not charged. נגישות אתרים ת"י
Pricing
from $40.00 / 1,000 page auditeds
Rating
0.0
(0)
Developer
Barak Eliov
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a month ago
Last modified
Categories
Security
Limited permissionsShare
Israel Accessibility Compliance Audit (IS-5568 / WCAG AA)
Audits websites against IS 5568 (the Israeli accessibility standard, based on WCAG 2.0 AA) in a real Chromium browser, using the axe-core engine (MIT, Deque Systems). It outputs per-page results, element screenshots, and an optional Hebrew legal-citation PDF that cites the Equal Rights for Persons with Disabilities Law (section 19na). Automated scan only, not legal advice.
This is v1 (the scope approved in SPEC.md). See "What's not in v1 yet" below.
What this Actor does
- Audits every URL you supply at WCAG AA - the exact level Israel's Equal Rights for Persons with Disabilities (Service Accessibility Adjustments) Regulations, 5773-2013, require via Israeli Standard 5568 (IS-5568).
- Produces a Hebrew-language compliance report (PDF) that cites the regulations and section 19na of
the Equal Rights for Persons with Disabilities Law (a civil tort allowing statutory damages of up to
50,000 ILS without proof of actual harm), maps every violation to its WCAG criterion in Hebrew, and
includes screenshots and a batch summary. With
outputModeflatorboth, the dataset has every single violation row for every URL; the PDF itself embeds up to 200 findings in full detail per run (see "Report size limits" below) so a large, dense batch can't produce an unbounded file. - Never charges for a failed or blocked audit - the same guarantee verified on the English sibling.
What makes this different from the global WCAG-audit Actors on Apify
None of the global competitors - including this Actor's own English sibling - target the Israeli market,
cite the binding Israeli legal text, or disclose the statutory-damages exposure. Confirmed zero Hebrew/
Israel-specific competitors via search-actors on 2026-10-02 (see data/ledger.md).
Legal exposure: an existing condition, not a deadline
The legal exposure described in the report is ongoing from the date the regulations took effect - it is not tied to any future compliance date, and does not depend on how many lawsuits have actually been filed. This Actor deliberately does not claim any approaching "compliance deadline": a "June 2026" claim found repeated across several Israeli accessibility-vendor marketing pages was checked against the regulation's actual text and has no basis there - it is not used anywhere in this Actor's code, input schema, or reports.
Important legal disclaimer (read before relying on the report)
The legal report this Actor produces is the output of an automated scan (axe-core on a real browser). It is not a certified legal audit, not a legal opinion, and does not constitute legal advice. It does not guarantee any legal outcome or full compliance with the law. Consult a lawyer and/or a certified accessibility auditor before relying on its findings.
This disclaimer is not cosmetic: overclaiming accessibility compliance is exactly what cost accessiBe a 2025 FTC fine of $1 million for misleading consumers about their sites' compliance level. This report cites a real statutory-damages figure, so the disclaimer appears in every report the Actor produces, not just here.
What is cited here - and what is not
- Cited: the free regulation/law text (Nevo, nevo.co.il) and the official WCAG success-criterion numbers (free, W3C/MIT, via axe-core).
- Not cited: Israeli Standard 5568's own internal clause numbering. The standard document itself is
sold by Israel's national standards institute (SII) and may be copyrighted - v1 cites the standard's
name only ("Israeli Standard 5568"), never its internal numbering. The
wcagCriterionHebrewNamefield is this Actor's own working translation of W3C's free "Understanding WCAG" titles, not a translation of IS-5568's own text. - Transparency note on "verbatim": this Actor's legal report presents a verified summary of the
regulation's/law's substance, with a direct link to the authoritative source - not a character-for-
character quote. An attempt to upgrade this to an actual verbatim quote (via WebFetch, post-build)
surfaced a real finding worth knowing: re-fetching the same statutory section twice produced two
different Hebrew wordings, because AI-summarizing fetch tools don't return raw page text (see
docs/lessons.md#5). A true verbatim quote would need a raw HTML fetch or manual verification against the Nevo links in the report before any legal reliance.
Input example
{"urls": ["https://example.com"],"wcagLevel": "wcag2aa","generateLegalReport": true,"reportLanguage": "he"}
Input defaults
Every input field has a default. .actor/input_schema.json is the authoritative source; this table is
generated from it and the defaults below match that file exactly.
| Field | Type | Default | Meaning |
|---|---|---|---|
urls | array | ["https://example.com"] | Public page URLs to audit, one audit per URL (up to 100 per run). No crawling. |
wcagLevel | string | "wcag2aa" | WCAG level to check. wcag2aa is the level IS 5568 adopts. |
viewport | string | "desktop" | Screen preset: desktop, tablet, mobile, or custom. |
viewportWidth | integer | 1280 | Custom viewport width in px (used only when viewport is custom). |
viewportHeight | integer | 800 | Custom viewport height in px (used only when viewport is custom). |
includeScreenshots | boolean | true | Element screenshot per violation plus one full-page screenshot per URL. |
includeIncomplete | boolean | true | Also return axe-core checks that need human review (status = incomplete). |
includePasses | boolean | false | Also return the count of rules that passed. |
outputMode | string | "both" | Row shapes: perPage (page rows), flat (one page row per URL plus one row per violation; one page-audited charge per successful page, issued after its rows are saved), or both (page row plus violation rows, charged per successful page). |
generateLegalReport | boolean | true | Generate the Hebrew legal-citation PDF report for the run (charged only on success). |
reportLanguage | string | "he" | Legal report language: he, en, or both. Legal references stay in Hebrew. |
generatePdfReport | boolean | false | Also generate a plain English WCAG-only PDF report (charged only on success). |
waitForSelector | string | "" | Optional CSS selector to wait for before auditing. Empty means no wait. |
waitUntil | string | "load" | Navigation readiness: load, domcontentloaded, or networkidle. |
timeoutSecs | integer | 30 | Per-URL time budget in seconds for navigation, audit and screenshots. |
proxyConfiguration | object | {"useApifyProxy":true} | Apify Proxy settings used for the audit requests. |
maxConcurrency | integer | 5 | Maximum number of pages audited in parallel within one run. |
Output example
The dataset has three row shapes, distinguished by rowType.
Page row (one per audited URL):
{"rowType": "page","url": "https://example.com","finalUrl": "https://example.com/","status": "success","wcagLevel": "wcag2aa","viewport": "desktop","score": 92,"violationCount": 1,"incompleteCount": 0,"passCount": 0,"violationsByImpact": { "critical": 0, "serious": 0, "moderate": 1, "minor": 0 },"fullPageScreenshotUrl": "https://api.apify.com/v2/key-value-stores/.../records/fullpage-....png","waitForSelectorTimedOut": false,"errorCategory": null,"errorMessage": null,"auditedAt": "2026-10-02T12:00:00.000Z","engineVersion": "4.13.0"}
Violation row (one per individual finding, when outputMode is flat/both):
{"rowType": "violation","pageUrl": "https://example.com","ruleId": "image-alt","impact": "critical","status": "violation","description": "Images must have alternate text","helpText": "Add an alt attribute","helpUrl": "https://dequeuniversity.com/rules/axe/4.13/image-alt","wcagCriteria": ["1.1.1"],"wcagCriterionHebrewName": "1.1.1 – תוכן שאינו טקסטואלי","selector": "#logo","htmlSnippet": "<img id=\"logo\">","screenshotUrl": "https://api.apify.com/v2/key-value-stores/.../records/violation-....png","nodeCount": 1}
wcagCriterionHebrewName is null when wcagCriteria is null (axe-core best-practice rules with no
numbered WCAG mapping) or when the criterion is not yet in this Actor's translation table - never guessed.
Summary row (exactly one per run, also saved to the key-value store as batchSummary):
{"rowType": "summary","totalPagesAudited": 1,"totalPagesFailed": 0,"totalViolations": 1,"violationsByImpact": { "critical": 0, "serious": 0, "moderate": 1, "minor": 0 },"topFailingRules": [{ "ruleId": "image-alt", "pageCount": 1 }],"pdfReportUrl": null,"legalReportUrl": "https://api.apify.com/v2/key-value-stores/.../records/legal-report-....pdf","regulationCitation": {"source": "נבו (nevo.co.il)","regulationUrl": "https://www.nevo.co.il/law_html/law01/500_865.htm","lawUrl": "https://www.nevo.co.il/law_html/law01/p214m2_001.htm","disclaimer": "דוח זה הוא תוצר של סקירה אוטומטית... / This report is an automated scan..."}}
Errors (never silent, never charged)
| Category | When |
|---|---|
invalid_url | Malformed URL, non-http(s) URL, or the URL resolves to a private/link-local/reserved IP address (SSRF protection, always on) |
not_found | DNS failure, connection refused, 404/410 |
blocked | 401/403/429 response, or a Chromium block error (e.g. ERR_BLOCKED_BY_RESPONSE). Never retried |
timeout | Navigation, the axe-core audit, or screenshot capture exceeded timeoutSecs combined |
render_error | Browser crash or an unclassified render failure |
upstream_changed | 5xx upstream server error |
A failed page is never charged. A legal report that cannot be produced (zero pages succeeded in the
batch) is not charged either - page-audited charges for pages that did succeed in the same batch are
unaffected.
Report size limits (dataset vs. PDF)
With outputMode flat or both, the dataset is complete: every violation/incomplete finding for every
URL is a full row, regardless of batch size. With perPage, the dataset holds only page rows (with the
violationsByImpact summary) and the summary row. The limits below apply only to what's embedded in full detail (HTML snippet +
screenshot image) inside the PDF report body (generatePdfReport and/or generateLegalReport):
- Per page: at most 20 findings embedded in full, confirmed violations before "needs manual review" items, most severe first. A single dense real page (e.g. a news homepage with 150+ findings) cannot alone blow up the PDF.
- Per batch: a shared ceiling of 200 findings embedded in full across the whole run (up to the 100-URL-per-run maximum), so many individually-small pages still can't sum to an unbounded file.
- Per screenshot: capped at 2000x1200 CSS pixels (width x height). Several common rules (
landmark-one-main,page-has-heading-one,region, etc.) resolve to a whole-page-length element (html/bodyitself) - confirmed live on real sites (gov.il, calcalist.co.il, amazon.com) during this Actor's stress test, where this alone was a major driver of PDF size; the cap keeps the embedded screenshots bounded without changing the findings or the page count. Oversized elements get a top-left crop instead of a silently-giant full-length screenshot. - Whatever is held back is never silently dropped - the report prints exactly how many additional findings exist on that page and how many of them are confirmed violations vs. items needing manual review, with a pointer to the full dataset.
- PDF rendering (both report types) has an internal 3-minute outer deadline for the whole batch. If
exceeded, generation is aborted, logged, and not charged - page-level
page-auditedcharges already applied in the same run are unaffected, andpdfReportUrl/legalReportUrlin the summary row staynullfor that run.
Pay-per-event pricing
| Event key | When |
|---|---|
page-audited | One page successfully audited, including screenshots |
legal-report-generated | The Hebrew compliance report was produced successfully (default: on) |
report-generated | The plain WCAG-only PDF report (English) was produced successfully (default: off) |
Every event name is checked against Apify Console's event-key charset (^[a-zA-Z0-9_-]{1,256}$, no
spaces) in tests/events.test.ts before a build is considered done.
Local development / Apify run
npm installnpx playwright install chromium # one-timenpm run typechecknpm testnpm run buildapify run --input-file smoke-input.json --purge
Use with AI agents / MCP
Call with urls as an array (never comma-separated). Check rowType first, then status/errorCategory
on page rows. wcagCriterionHebrewName and summary.legalReportUrl/regulationCitation are this Actor's
Israel-specific fields on top of the English sibling's schema - everything else is identical.
FAQ
Am I charged for a failed or blocked audit? No. This is this Actor's central guarantee.
Is the legal report legal advice? No. See "Important legal disclaimer" above.
Is wcagCriterionHebrewName a quote of Israeli Standard 5568? No - it's this Actor's own working
translation of W3C's free criterion titles, not an official translation and not IS-5568's own text.
What's not in v1 yet
Site-crawl/auto-discovery, CI/CD webhooks, scheduled audits, custom rule-set authoring - the same explicit deferral list as the English sibling.