What This Report Shows
This report evaluates the accessibility of a single document against WCAG 2.1 Level AA — the standard required for ADA compliance. The document was tested with 34 automated accessibility checks and 9 screen reader simulation checks that replicate how NVDA and VoiceOver navigate PDF documents.
- Conformant
- All checks pass. The document is fully accessible to screen readers and assistive technology.
- Partially Conformant
- Minor issues remain (3 or fewer failed checks). The document is mostly accessible but has small gaps.
- Not Conformant
- Significant accessibility barriers exist. Screen reader users may not be able to fully access this document.
Screen Reader Readability
Composite readability score: 85.2/100 (Good)
This score summarizes practical screen reader readability across text extractability, tagging coverage, alt text quality, heading structure, and table/list accessibility.
| Component | Score | Details |
|---|---|---|
| Text extractability | 30.0/30 | total chars=874897, readable chars=874815, replacement chars=0 |
| Tag coverage | 25.0/25 | tagged pages=335, total pages=335, tags per page=47.1 |
| Alt text quality | 5.2/20 | figures=27, with meaningful alt=7 |
| Heading structure | 15.0/15 | errors=0, warnings=0 |
| Table/list accessibility | 10.0/10 | errors=0 |
Document Information
| Source | |
| Original File Type | |
|---|---|
| Original File Size | 19.5 MB |
| Original PDF (un-remediated) | 95258b4c_LACC_Institutional_Self_Evaluation_Report_Accreditation_2016.pdf |
| Remediated PDF | LACC_Institutional_Self_Evaluation_Report_Accreditation_2016.pdf |
| Source Web Page | N/A |
| Original Accessibility State | |
| Had Structure Tags | Yes |
| Had Language Set | Yes |
| Had Document Title | Yes |
| After Remediation | |
| Remediated File Size | 22.7 MB |
| Pages | 335 |
| Structure Tags | 15764 |
| Checks Passed | 27 of 31 applicable (2 not applicable) |
| Screen Reader Errors | 20 |
| Screen Reader Warnings | 16 |
| veraPDF | FAIL |
| Conformance | Partially Conformant |
WCAG 2.1 AA Conformance
| Success Criterion | Status | Remarks |
|---|---|---|
| 1.1.1 Non-text Content (Level A) | FAIL | Figures require alternate text: 20/27 figures have generic/placeholder alt text; Elements require alternate text: /Figure element has generic/placeholder alt text: 'Figure'; /Figure element has generic/placeholder alt text: 'Figure' |
| 1.3.1 Info and Relationships (Level A) | PASS | |
| 1.3.2 Meaningful Sequence (Level A) | PASS | |
| 1.3.3 Sensory Characteristics (Level A) | N/A | Not applicable to static PDF documents |
| 1.4.1 Use of Color (Level A) | FAIL | Document has appropriate color contrast: Page 1: Vision analysis error: The write operation timed out; Page 38: Vision analysis error: 429 RESOURCE_EXHAUSTED. {'error': {'code': 429, 'message': 'Your project has exceeded its monthly spending cap. Please go to AI Studio at https://ai.studio/spend to manage your project spend cap.', 'status': 'RESOURCE_EXHAUSTED'}} |
| 1.4.3 Contrast (Minimum) (Level AA) | FAIL | Document has appropriate color contrast: Page 1: Vision analysis error: The write operation timed out; Page 38: Vision analysis error: 429 RESOURCE_EXHAUSTED. {'error': {'code': 429, 'message': 'Your project has exceeded its monthly spending cap. Please go to AI Studio at https://ai.studio/spend to manage your project spend cap.', 'status': 'RESOURCE_EXHAUSTED'}} |
| 1.4.5 Images of Text (Level AA) | PASS | |
| 2.1.1 Keyboard (Level A) | PASS | |
| 2.1.2 No Keyboard Trap (Level A) | N/A | Not applicable to static PDF documents |
| 2.2.1 Timing Adjustable (Level A) | PASS | |
| 2.3.1 Three Flashes or Below Threshold (Level A) | N/A | No applicable checks for this document |
| 2.4.1 Bypass Blocks (Level A) | PASS | |
| 2.4.2 Page Titled (Level A) | PASS | |
| 2.4.4 Link Purpose (In Context) (Level A) | PASS | |
| 2.4.5 Multiple Ways (Level AA) | PASS | |
| 2.4.6 Headings and Labels (Level AA) | N/A | No applicable checks for this document |
| 2.4.7 Focus Visible (Level AA) | PASS | |
| 3.1.1 Language of Page (Level A) | PASS | |
| 3.1.2 Language of Parts (Level AA) | N/A | Not applicable to static PDF documents |
| 3.2.3 Consistent Navigation (Level AA) | N/A | Not applicable to static PDF documents |
| 3.2.4 Consistent Identification (Level AA) | N/A | Not applicable to static PDF documents |
| 4.1.1 Parsing (Level A) | PASS | |
| 4.1.2 Name, Role, Value (Level A) | PASS |
Accessibility Checks (34)
| Category | Check | Result | Details |
|---|---|---|---|
| Document | Accessibility permission flag is set | Passed | |
| Document | Document is not image-only PDF | Passed | |
| Document | Document is tagged PDF | Passed | |
| Document | Structure tree is internally consistent | Passed | |
| Document | Document structure provides logical reading order | Passed | Vision analysis: reading order is acceptable; Page 1: Vision analysis error: 429 RESOURCE_EXHAUSTED. {'error': {'code': 429, 'message': 'Your project has exceeded its monthly spending cap. Please go to AI Studio at https://ai.studio/spend to manage your project spend cap.', 'status': 'RESOURCE_EXHAUSTED'}}; Page 38: Vision analysis error: 429 RESOURCE_EXHAUSTED. {'error': {'code': 429, 'message': 'Your project has exceeded its monthly spending cap. Please go to AI Studio at https://ai.studio/spend to manage your project spend cap.', 'status': 'RESOURCE_EXHAUSTED'}} |
| Document | Text language is specified | Passed | Language: en-US |
| Document | Document title is showing in title bar | Passed | |
| Document | Bookmarks are present in large documents | Passed | |
| Document | Document has appropriate color contrast | Failed | Page 1: Vision analysis error: The write operation timed out; Page 38: Vision analysis error: 429 RESOURCE_EXHAUSTED. {'error': {'code': 429, 'message': 'Your project has exceeded its monthly spending cap. Please go to AI Studio at https://ai.studio/spend to manage your project spend cap.', 'status': 'RESOURCE_EXHAUSTED'}}; Page 75: Vision analysis error: 429 RESOURCE_EXHAUSTED. {'error': {'code': 429, 'message': 'Your project has exceeded its monthly spending cap. Please go to AI Studio at https://ai.studio/spend to manage your project spend cap.', 'status': 'RESOURCE_EXHAUSTED'}} |
| Page Content | All page content is tagged | Passed | |
| Page Content | All annotations are tagged | Passed | |
| Page Content | Tab order is consistent with structure order | Passed | |
| Page Content | Reliable character encoding is provided | Failed | Page 1: suspicious extracted text (text extraction is low quality) |
| Page Content | All multimedia objects are tagged | Not Applicable | No multimedia objects found |
| Page Content | Page will not cause screen flicker | Passed | |
| Page Content | No inaccessible scripts | Passed | |
| Page Content | Navigation links are not repetitive | Passed | |
| Page Content | Page does not require timed responses | Passed | |
| Forms Tables Lists | All form fields are tagged | Not Applicable | No form fields found |
| Forms Tables Lists | All form fields have description | Passed | |
| Forms Tables Lists | TR must be child of Table/THead/TBody/TFoot | Passed | |
| Forms Tables Lists | TH and TD must be children of TR | Passed | |
| Forms Tables Lists | Tables must have headers | Passed | |
| Forms Tables Lists | Tables: same cols per row, same rows per col | Passed | Vision analysis: no reading order errors — irregular row widths likely due to legitimate row/col spans; Table has rows with 1-2 columns; Table has rows with 1-15 columns |
| Forms Tables Lists | Tables must have a summary | Passed | |
| Forms Tables Lists | LI must be child of L | Passed | |
| Forms Tables Lists | Lbl and LBody must be children of LI | Passed | |
| Alt Text Headings | Figures require alternate text | Failed | 20/27 figures have generic/placeholder alt text |
| Alt Text Headings | Alternate text that will never be read | Passed | |
| Alt Text Headings | Alternate text must be associated with content | Passed | |
| Alt Text Headings | Alternate text should not hide annotation | Passed | |
| Alt Text Headings | Elements require alternate text | Failed | /Figure element has generic/placeholder alt text: 'Figure'; /Figure element has generic/placeholder alt text: 'Figure'; /Figure element has generic/placeholder alt text: 'Figure' |
| Alt Text Headings | Appropriate heading nesting | Passed |
Screen Reader Validation (193 issues)
| Severity | Page | Element | Issue |
|---|---|---|---|
| ERROR | p46 | Figure | Figure has generic/placeholder alt text: 'Figure' — provides no value to screen reader users |
| ERROR | p46 | Figure | Figure has generic/placeholder alt text: 'Figure' — provides no value to screen reader users |
| ERROR | p46 | Figure | Figure has generic/placeholder alt text: 'Figure' — provides no value to screen reader users |
| ERROR | p46 | Figure | Figure has generic/placeholder alt text: 'Figure' — provides no value to screen reader users |
| ERROR | p46 | Figure | Figure has generic/placeholder alt text: 'Figure' — provides no value to screen reader users |
| ERROR | p46 | Figure | Figure has generic/placeholder alt text: 'Figure' — provides no value to screen reader users |
| ERROR | p46 | Figure | Figure has generic/placeholder alt text: 'Figure' — provides no value to screen reader users |
| ERROR | p46 | Figure | Figure has generic/placeholder alt text: 'Figure' — provides no value to screen reader users |
| ERROR | p46 | Figure | Figure has generic/placeholder alt text: 'Figure' — provides no value to screen reader users |
| ERROR | p46 | Figure | Figure has generic/placeholder alt text: 'Figure' — provides no value to screen reader users |
| ERROR | p46 | Figure | Figure has generic/placeholder alt text: 'Figure' — provides no value to screen reader users |
| ERROR | p46 | Figure | Figure has generic/placeholder alt text: 'Figure' — provides no value to screen reader users |
| ERROR | p46 | Figure | Figure has generic/placeholder alt text: 'Figure' — provides no value to screen reader users |
| ERROR | p46 | Figure | Figure has generic/placeholder alt text: 'Figure' — provides no value to screen reader users |
| ERROR | p46 | Figure | Figure has generic/placeholder alt text: 'Figure' — provides no value to screen reader users |
| ERROR | p46 | Figure | Figure has generic/placeholder alt text: 'Figure' — provides no value to screen reader users |
| ERROR | p46 | Figure | Figure has generic/placeholder alt text: 'Figure' — provides no value to screen reader users |
| ERROR | p46 | Figure | Figure has generic/placeholder alt text: 'Figure' — provides no value to screen reader users |
| ERROR | p46 | Figure | Figure has generic/placeholder alt text: 'Figure' — provides no value to screen reader users |
| ERROR | p321 | Figure | Figure has generic/placeholder alt text: 'Figure' — provides no value to screen reader users |
| INFO | p9 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p9 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p12 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p13 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p14 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p16 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p16 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p16 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p16 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p16 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p16 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p17 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p17 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p17 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p17 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p17 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p17 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p19 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p19 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p20 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p20 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p20 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p20 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p20 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p21 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p21 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p21 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p21 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p21 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p21 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p21 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p21 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p21 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p21 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p21 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p21 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p21 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p21 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p21 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p21 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p21 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p22 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p22 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p22 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p22 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p22 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p22 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p22 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p22 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p22 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p22 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p22 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p22 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p97 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p97 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p138 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p138 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p139 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p139 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p226 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p226 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p226 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p248 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p248 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p248 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p248 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p248 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p249 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p249 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p249 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p249 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p249 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p316 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p316 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p316 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p316 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p316 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p317 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p317 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p317 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p317 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p317 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p318 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p318 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p318 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p318 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p318 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p319 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p319 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p319 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p319 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p319 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p319 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p319 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p319 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p319 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p319 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p320 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p320 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p320 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p320 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p320 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p325 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p325 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p325 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p325 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p325 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p326 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p326 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p326 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p326 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p326 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p327 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p327 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p327 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p327 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p327 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p327 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p327 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p327 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p327 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p327 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p328 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p328 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p328 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p328 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p328 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p328 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p328 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p328 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p328 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p328 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p329 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p329 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p329 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p329 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p329 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p330 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p330 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p331 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p331 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p332 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p332 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p332 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p332 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p333 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p333 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p333 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p333 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p334 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p334 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p334 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p334 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p335 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p335 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p335 | TH | Empty TH — screen reader announces 'blank' |
| INFO | p335 | TH | Empty TH — screen reader announces 'blank' |
| WARNING | p2 | P | Tagged element is empty — screen reader announces nothing |
| WARNING | p5 | TOCI | Tagged |
| WARNING | p5 | TOCI | Tagged |
| WARNING | p6 | P | Tagged element is empty — screen reader announces nothing |
| WARNING | p7 | P | Tagged element is empty — screen reader announces nothing |
| WARNING | p57 | P | Tagged element is empty — screen reader announces nothing |
| WARNING | p112 | P | Tagged element is empty — screen reader announces nothing |
| WARNING | p113 | P | Tagged element is empty — screen reader announces nothing |
| WARNING | p166 | P | Tagged element is empty — screen reader announces nothing |
| WARNING | p167 | P | Tagged element is empty — screen reader announces nothing |
| WARNING | p242 | P | Tagged element is empty — screen reader announces nothing |
| WARNING | p243 | P | Tagged element is empty — screen reader announces nothing |
| WARNING | p311 | P | Tagged element is empty — screen reader announces nothing |
| WARNING | p312 | P | Tagged element is empty — screen reader announces nothing |
| WARNING | p30 | P | Text repeated 3 times on page 30: 'Daniel Ruiz, Accreditation Vice - Chair ( since summer 2015)...' — screen reader reads it each time |
| WARNING | p31 | P | Text repeated 4 times on page 31: 'Daniel Ruiz, Accreditation Vice - Chair ( since summer 2015)...' — screen reader reads it each time |