Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
community-access avatar

Office Remediation

  • 174 installs
  • 381 repo stars
  • Updated August 4, 2026
  • community-access/accessibility-agents

Repair Word, PowerPoint, Excel, and PDF exports for headings, tables, alt text, reading order, and color contrast before distribution to employees or customers.

About

Skill for remediating Microsoft Office and exported PDF accessibility: headings, lists, tables, alt text, links, and reading order. Helps teams publish inclusive documents that screen readers and keyboard users can navigate without manual rework after export.

  • Heading styles and logical outline
  • Table headers and merged-cell fixes
  • Image alt text in slides and docs
  • Reading order in PDF export
  • Contrast-safe theme adjustments

Office Remediation by the numbers

  • 174 all-time installs (skills.sh)
  • Ranked #271 of 688 Office & Documents skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/community-access/accessibility-agents --skill office-remediation

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs174
repo stars381
Last updatedAugust 4, 2026
Repositorycommunity-access/accessibility-agents

What it does

Repair Word, PowerPoint, Excel, and PDF exports for headings, tables, alt text, reading order, and color contrast before distribution to employees or customers.

Files

SKILL.mdMarkdownGitHub ↗

<!-- CANONICAL SOURCE: .github/skills/office-remediation/SKILL.md -- Edit the canonical source; sync to Gemini via scripts/check-gemini-sync.ps1 -->

Office Remediation Patterns

API reference and code patterns for programmatically fixing accessibility issues in Microsoft Office documents.

python-docx Patterns (Word .docx)

OperationCode
Set document titledoc.core_properties.title = "Title"
Set document languageSet <w:lang w:val="en-US"/> on <w:rPr> via lxml
Fix table headersrow.cells[0]._tc → set <w:tblHeader/> on first row <w:trPr>
Add alt text to imagesSet descr attribute on <wp:docPr> via lxml
Fix heading levelsReassign paragraph.style to correct Heading N
Set list structureApply List Bullet / List Number styles

openpyxl Patterns (Excel .xlsx)

OperationCode
Set workbook titlewb.properties.title = "Title"
Set print titlesws.print_title_rows = '1:1' for header row repeat
Rename generic sheetsws.title = "Descriptive Name"
Detect merged cellsws.merged_cells.ranges — flag width > 1

python-pptx Patterns (PowerPoint .pptx)

OperationCode
Set presentation titleprs.core_properties.title = "Title"
Add slide titlesAdd PP_PLACEHOLDER.TITLE placeholder with text
Add alt text to shapesshape._element.set(qn('p:nvSpPr/p:cNvPr'), ...) → set descr
Fix reading orderReorder <p:spTree> children by visual position
Add table headersSet first row cells as header via <a:tblPr firstRow="1">

PowerShell COM Automation

# Word
$word = New-Object -ComObject Word.Application
$doc = $word.Documents.Open("C:\path\file.docx")
$doc.BuiltInDocumentProperties("Title").Value = "Title"
$doc.Save(); $doc.Close(); $word.Quit()

# Excel
$excel = New-Object -ComObject Excel.Application
$wb = $excel.Workbooks.Open("C:\path\file.xlsx")
$wb.BuiltInDocumentProperties("Title").Value = "Title"
$wb.Save(); $wb.Close(); $excel.Quit()

# PowerPoint
$ppt = New-Object -ComObject PowerPoint.Application
$prs = $ppt.Presentations.Open("C:\path\file.pptx")
$prs.BuiltInDocumentProperties("Title").Value = "Title"
$prs.Save(); $prs.Close(); $ppt.Quit()

Key OOXML Paths

FormatZIP PathXML Element
DOCXdocProps/core.xml<dc:title>
DOCXword/document.xml<w:lang>, <w:tblHeader/>
XLSXdocProps/core.xml<dc:title>
XLSXxl/workbook.xml<sheet name="">
PPTXdocProps/core.xml<dc:title>
PPTXppt/slides/slideN.xml<p:spTree> ordering

Related skills

Office & Documentsworkflownotes

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.