Share via

Tables posted into PowerPoint not passing accessibility checker

O, Abby 0 Reputation points
2026-03-03T17:37:28.4566667+00:00

For my job I make a lot of PowerPoints that have a lot of tables in them. On Mondays I create a PowerPoint that has 65 tables in it that are created in RStudio (flextable) and Excel and are pasted into PowerPoint. When the tables are created, there is a designated header row that is specifically labeled as the header, but when they are pasted into PowerPoint, it doesn't recognize the header. This means every week I have to go through every table using the accessibility checker to mark the first row as the header row. Is there any way to tell PowerPoint to default to first row header or paste tables without losing that information?

Microsoft 365 and Office | PowerPoint | For business | Windows
0 comments No comments
{count} votes

2 answers

Sort by: Most helpful
  1. John Korchok 230.5K Reputation points Volunteer Moderator
    2026-03-03T17:46:46.9066667+00:00

    Here's a VBA macro that should do the grunt work for you:

    Sub SetAllTablesHeaderRow()
        Dim sld As Slide
        Dim shp As Shape
        Dim tbl As Table
        
        On Error Resume Next ' Skip shapes that are not tables
        
        ' Loop through all slides
        For Each sld In ActivePresentation.Slides
            ' Loop through all shapes in the slide
            For Each shp In sld.Shapes
                If shp.HasTable Then
                    Set tbl = shp.Table
                    ' Enable header row
                    tbl.FirstRow = msoTrue
                End If
            Next shp
        Next sld
        
        On Error GoTo 0 ' Restore normal error handling
        
        MsgBox "All tables now have header rows enabled.", vbInformation
    End Sub
    

  2. Q&A Assist
    2026-03-03T17:37:41.3433333+00:00
    AI generated content. This question contains an answer created with AI from Q&A Assist. Learn more

    PowerPoint does not provide a setting to automatically treat the first row of every pasted table as a header row, and header-row metadata from external tools (such as RStudio/flextable or Excel) is not preserved when pasting into PowerPoint. As a result, the Accessibility Checker will continue to flag these tables until a header row is explicitly set inside PowerPoint.

    To minimize the manual work, the supported approach is:

    1. Use simple data tables only
      • Avoid split/merged cells and nested tables in the source so that once pasted, the table structure is simple and compatible with accessibility rules.
      • This aligns with the guidance to “use a simple table structure for data only, and specify column header information.”
    2. After pasting, set the header row in PowerPoint
      • Click anywhere in the pasted table.
      • Go to the Table Design tab.
      • Select the Header Row checkbox.
      • Ensure the first row contains the column headings.
      This is the only supported way for PowerPoint to mark the header row so that screen readers and the Accessibility Checker recognize it.
    3. Use the Accessibility Checker to verify
      • Run the Accessibility Checker on the presentation.
      • Confirm that the “Tables specify column header information” rule passes for each table.

    Because there is no global default or paste option to automatically set the first row as a header row, each table must be updated in PowerPoint itself. The Accessibility Checker will continue to treat missing header information as an error until the Header Row option is applied per table.


    References:

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.