https://bugs.documentfoundation.org/show_bug.cgi?id=174189

            Bug ID: 174189
           Summary: PDF/UA: Calc does not tag the rows and columns to
                    repeat as table headers (TH), only the labels of a
                    database range
           Product: LibreOffice
           Version: 27.2.0.0 alpha0+ master
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Keywords: accessibility, filter:pdf
          Severity: enhancement
          Priority: medium
         Component: Calc
          Assignee: [email protected]
          Reporter: [email protected]
            Blocks: 139007

Created attachment 209386
  --> https://bugs.documentfoundation.org/attachment.cgi?id=209386&action=edit
calc-header-rows.fods: the sheet, with the first row as a row to repeat

Since tdf#168638, Calc tags the label row of a database range as TH. A sheet
that marks its header row the other common way, as a row to repeat (Format >
Print Ranges > Edit; <table:table-header-rows> in ODS, _xlnm.Print_Titles in
XLSX), gets no TH at all. For files written by other programs this is often the
only header marking there is.

Steps to reproduce:
1. Open the attached calc-header-rows.fods: a 2-column table whose first row
("Region", "Sales") is inside <table:table-header-rows>. No database range.
2. File > Export as PDF, with "Universal Accessibility (PDF/UA)" checked.
3. Look at the structure tree.

Actual:
Every cell is a TD, including "Region" and "Sales"
(calc-header-rows.master-output.pdf). veraPDF PDF/UA-1 passes, as it does not
require headers, but the table has no headers for assistive technology.

Expected:
The cells of the rows to repeat are TH with /Scope /Column, and the cells of
the columns to repeat are TH with /Scope /Row, as for the labels of a database
range. ISO 32000-1, 14.8.5.7 (Scope); ISO 14289-1 (PDF/UA-1), 7.5: table
headers shall be tagged as TH.

Code pointer:
lcl_GetLabelScope() in sc/source/ui/view/output2.cxx looks only at the database
range at the cell. The rows and columns to repeat are available from
ScDocument::GetRepeatRowRange() and GetRepeatColRange().

Reproduced on master eb31ae6c15b8 (2026-10-27), macOS; also on 26.8.1.1.

Attachments:
- calc-header-rows.fods: the sheet, with the first row as a row to repeat
- calc-header-rows.master-output.pdf: PDF/UA from master, every cell is a TD


Referenced Bugs:

https://bugs.documentfoundation.org/show_bug.cgi?id=139007
[Bug 139007] [META] PDF accessibility
-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to