Bug 130782 - docx alt text for charts not shown if document has been edited in Word
Summary: docx alt text for charts not shown if document has been edited in Word
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
6.4.0.3 release
Hardware: All All
: medium normal
Assignee: Michael Stahl (allotropia)
URL:
Whiteboard: target:7.6.0 target:7.5.1
Keywords: filter:docx
Depends on:
Blocks: OOXML-Chart a11y, Accessibility
  Show dependency treegraph
 
Reported: 2020-02-19 20:57 UTC by Eduardo Ramos
Modified: 2023-04-13 00:35 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Attachments
Sample docx with alt text for charts (69.28 KB, application/vnd.openxmlformats-officedocument.wordprocessingml.document)
2020-02-19 20:58 UTC, Eduardo Ramos
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Eduardo Ramos 2020-02-19 20:57:05 UTC
Description:
Whenever I add a alt text to a chart in Word in .docx format whenever I open it in Libre Office the text does not showp and is lost.

This implies that all accesibility info is lost for charts whenever they are rendered in Libre Office whenever they were originally edited in Word.

Steps to Reproduce:
1.Edit a docx file in Word
2.Add alt text to a chart
3.Open it in Libre Office
4.Alt text has disappeared

Actual Results:
Accesibility info (alt text) is lost

Expected Results:
Alt text could be seen in Libre Office


Reproducible: Always


User Profile Reset: No



Additional Info:
No
Comment 1 Eduardo Ramos 2020-02-19 20:58:10 UTC
Created attachment 158013 [details]
Sample docx with alt text for charts

A sample docx edited in Word with alt text for charts
Comment 2 Julien Nabet 2020-02-19 21:27:28 UTC
On pc Debian x86-64 with master sources updated today, I could reproduce this.

(Thank you Eduardo for having created this new bugtracker)
Comment 3 Eduardo Ramos 2020-02-29 10:06:36 UTC Comment hidden (no-value)
Comment 4 Eduardo Ramos 2020-03-26 12:41:24 UTC Comment hidden (no-value)
Comment 5 Eduardo Ramos 2020-09-17 08:46:02 UTC Comment hidden (no-value)
Comment 6 Timur 2020-09-19 15:32:31 UTC Comment hidden (obsolete)
Comment 7 Eduardo Ramos 2020-09-19 17:05:23 UTC Comment hidden (no-value)
Comment 8 qualifiedbabyish 2023-01-11 04:03:00 UTC Comment hidden (obsolete)
Comment 9 BogdanB 2023-01-11 10:10:36 UTC
(In reply to qualifiedbabyish from comment #8)
> Tested and looks fixed to me.

This is NOT fixed. Repro in
Version: 7.5.0.1 (X86_64) / LibreOffice Community
Build ID: 77cd3d7ad4445740a0c6cf977992dafd8ebad8df
CPU threads: 4; OS: Windows 10.0 Build 19045; UI render: Skia/Raster; VCL: win
Locale: ro-RO (ro_RO); UI: en-US
Calc: threaded

Click on charts - Properties - Options - NO Text Alternative
Comment 10 Commit Notification 2023-02-02 17:42:49 UTC
Michael Stahl committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/fa1f2b7f5c65d66eaa5887acc9da5eb526570b18

tdf#130782 tdf#153203 writerfilter,sw: DOCX import/export of a11y

It will be available in 7.6.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 11 Michael Stahl (allotropia) 2023-02-02 17:53:56 UTC
fixed on master
Comment 12 Commit Notification 2023-02-08 14:57:09 UTC
Michael Stahl committed a patch related to this issue.
It has been pushed to "libreoffice-7-5":

https://git.libreoffice.org/core/commit/35d5a64fc3b507e83b037dd35f856069a742a254

tdf#130782 tdf#153203 writerfilter,sw: DOCX import/export of a11y

It will be available in 7.5.1.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 13 BogdanB 2023-02-11 11:28:33 UTC
From my test I get the Description for both as "first" and "{{second}}", but NO ALT atribute. The Alternative fields is empty.

Tested in
Version: 7.6.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 9d44236a62bf59d120dda89924d0d1407b2bd52b
CPU threads: 16; OS: Linux 5.15; UI render: default; VCL: gtk3
Locale: ro-RO (ro_RO.UTF-8); UI: en-US
Calc: threaded

Aslo, I don't know if something is related but I get a ot of warnings in DBG version of LibreOffice retesting this bug

warn:sfx.dialog:618456:618456:sfx2/source/dialog/filtergrouping.cxx:359: already have an element for WordPerfect
warn:sfx.dialog:618456:618456:sfx2/source/dialog/filtergrouping.cxx:359: already have an element for writerweb8_writer_template
warn:sfx.dialog:618456:618456:sfx2/source/dialog/filtergrouping.cxx:359: already have an element for writerglobal8
warn:xmloff:618456:618456:sax/source/fastparser/fastparser.cxx:1248: unknown attribute vid={4A3C46E8-61CC-4603-A589-7422A47A8E4A}
warn:xmloff:618456:618456:xmloff/source/text/XMLTextListAutoStylePool.cxx:166: getStyleFamilies() from XModel failed for export!
warn:xmloff:618456:618456:xmloff/source/text/XMLTextListAutoStylePool.cxx:166: getStyleFamilies() from XModel failed for export!
warn:xmloff:618456:618456:xmloff/source/text/XMLTextListAutoStylePool.cxx:166: getStyleFamilies() from XModel failed for export!
warn:chart2.tools:618456:618456:chart2/source/tools/WrappedPropertySet.cxx:137: found no inner property set to map to
warn:xmloff:618456:618456:xmloff/source/text/XMLTextListAutoStylePool.cxx:166: getStyleFamilies() from XModel failed for export!
warn:xmloff:618456:618456:xmloff/source/text/XMLTextListAutoStylePool.cxx:166: getStyleFamilies() from XModel failed for export!
warn:xmloff:618456:618456:xmloff/source/text/XMLTextListAutoStylePool.cxx:166: getStyleFamilies() from XModel failed for export!
warn:chart2.tools:618456:618456:chart2/source/tools/WrappedPropertySet.cxx:137: found no inner property set to map to
warn:chart2:618456:618456:chart2/source/tools/LifeTime.cxx:117: This component is already disposed 
warn:legacy.osl:618456:618456:svx/source/unodraw/unoshape.cxx:3583: SvxShape::_getSupportedServiceNames: could not determine object type!
warn:legacy.osl:618456:618456:svx/source/unodraw/unoshape.cxx:3583: SvxShape::_getSupportedServiceNames: could not determine object type!
warn:legacy.osl:618456:618456:svx/source/unodraw/unoshape.cxx:3583: SvxShape::_getSupportedServiceNames: could not determine object type!
warn:legacy.osl:618456:618456:svx/source/unodraw/unoshape.cxx:3583: SvxShape::_getSupportedServiceNames: could not determine object type!
warn:xmloff:618456:618456:xmloff/source/text/XMLTextListAutoStylePool.cxx:166: getStyleFamilies() from XModel failed for export!
warn:xmloff:618456:618456:xmloff/source/text/XMLTextListAutoStylePool.cxx:166: getStyleFamilies() from XModel failed for export!
warn:xmloff:618456:618456:xmloff/source/text/XMLTextListAutoStylePool.cxx:166: getStyleFamilies() from XModel failed for export!
warn:chart2.tools:618456:618456:chart2/source/tools/WrappedPropertySet.cxx:137: found no inner property set to map to
warn:xmloff:618456:618456:xmloff/source/text/XMLTextListAutoStylePool.cxx:166: getStyleFamilies() from XModel failed for export!
warn:xmloff:618456:618456:xmloff/source/text/XMLTextListAutoStylePool.cxx:166: getStyleFamilies() from XModel failed for export!
warn:xmloff:618456:618456:xmloff/source/text/XMLTextListAutoStylePool.cxx:166: getStyleFamilies() from XModel failed for export!
warn:chart2.tools:618456:618456:chart2/source/tools/WrappedPropertySet.cxx:137: found no inner property set to map to
warn:chart2:618456:618456:chart2/source/tools/LifeTime.cxx:117: This component is already disposed 
warn:legacy.osl:618456:618456:svx/source/unodraw/unoshape.cxx:3583: SvxShape::_getSupportedServiceNames: could not determine object type!
warn:legacy.osl:618456:618456:svx/source/unodraw/unoshape.cxx:3583: SvxShape::_getSupportedServiceNames: could not determine object type!
warn:legacy.osl:618456:618456:svx/source/unodraw/unoshape.cxx:3583: SvxShape::_getSupportedServiceNames: could not determine object type!
warn:legacy.osl:618456:618456:svx/source/unodraw/unoshape.cxx:3583: SvxShape::_getSupportedServiceNames: could not determine object type!
warn:xmloff:618456:618456:xmloff/source/text/XMLTextListAutoStylePool.cxx:166: getStyleFamilies() from XModel failed for export!
warn:xmloff:618456:618456:xmloff/source/text/XMLTextListAutoStylePool.cxx:166: getStyleFamilies() from XModel failed for export!
warn:xmloff:618456:618456:xmloff/source/text/XMLTextListAutoStylePool.cxx:166: getStyleFamilies() from XModel failed for export!
warn:chart2.tools:618456:618456:chart2/source/tools/WrappedPropertySet.cxx:137: found no inner property set to map to
warn:xmloff:618456:618456:xmloff/source/text/XMLTextListAutoStylePool.cxx:166: getStyleFamilies() from XModel failed for export!
warn:xmloff:618456:618456:xmloff/source/text/XMLTextListAutoStylePool.cxx:166: getStyleFamilies() from XModel failed for export!
warn:xmloff:618456:618456:xmloff/source/text/XMLTextListAutoStylePool.cxx:166: getStyleFamilies() from XModel failed for export!
warn:chart2.tools:618456:618456:chart2/source/tools/WrappedPropertySet.cxx:137: found no inner property set to map to
warn:chart2:618456:618456:chart2/source/tools/LifeTime.cxx:117: This component is already disposed 
warn:legacy.osl:618456:618456:svx/source/unodraw/unoshape.cxx:3583: SvxShape::_getSupportedServiceNames: could not determine object type!
warn:legacy.osl:618456:618456:svx/source/unodraw/unoshape.cxx:3583: SvxShape::_getSupportedServiceNames: could not determine object type!
warn:legacy.osl:618456:618456:svx/source/unodraw/unoshape.cxx:3583: SvxShape::_getSupportedServiceNames: could not determine object type!
warn:legacy.osl:618456:618456:svx/source/unodraw/unoshape.cxx:3583: SvxShape::_getSupportedServiceNames: could not determine object type!
warn:xmloff:618456:618456:xmloff/source/text/XMLTextListAutoStylePool.cxx:166: getStyleFamilies() from XModel failed for export!
warn:xmloff:618456:618456:xmloff/source/text/XMLTextListAutoStylePool.cxx:166: getStyleFamilies() from XModel failed for export!
warn:xmloff:618456:618456:xmloff/source/text/XMLTextListAutoStylePool.cxx:166: getStyleFamilies() from XModel failed for export!
warn:chart2.tools:618456:618456:chart2/source/tools/WrappedPropertySet.cxx:137: found no inner property set to map to
warn:xmloff:618456:618456:xmloff/source/text/XMLTextListAutoStylePool.cxx:166: getStyleFamilies() from XModel failed for export!
warn:xmloff:618456:618456:xmloff/source/text/XMLTextListAutoStylePool.cxx:166: getStyleFamilies() from XModel failed for export!
warn:xmloff:618456:618456:xmloff/source/text/XMLTextListAutoStylePool.cxx:166: getStyleFamilies() from XModel failed for export!
warn:chart2.tools:618456:618456:chart2/source/tools/WrappedPropertySet.cxx:137: found no inner property set to map to
warn:chart2:618456:618456:chart2/source/tools/LifeTime.cxx:117: This component is already disposed 
warn:legacy.osl:618456:618456:svx/source/unodraw/unoshape.cxx:3583: SvxShape::_getSupportedServiceNames: could not determine object type!
warn:legacy.osl:618456:618456:svx/source/unodraw/unoshape.cxx:3583: SvxShape::_getSupportedServiceNames: could not determine object type!
warn:legacy.osl:618456:618456:svx/source/unodraw/unoshape.cxx:3583: SvxShape::_getSupportedServiceNames: could not determine object type!
warn:legacy.osl:618456:618456:svx/source/unodraw/unoshape.cxx:3583: SvxShape::_getSupportedServiceNames: could not determine object type!
warn:legacy.osl:618456:618456:oox/source/helper/storagebase.cxx:67: StorageBase::StorageBase - missing base input stream
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:legacy.osl:618456:618456:chart2/source/model/main/DataPoint.cxx:173: data point needs a parent property set to provide values correctly
warn:legacy.osl:618456:618456:chart2/source/model/main/DataPoint.cxx:173: data point needs a parent property set to provide values correctly
warn:legacy.osl:618456:618456:chart2/source/model/main/DataPoint.cxx:173: data point needs a parent property set to provide values correctly
warn:legacy.osl:618456:618456:chart2/source/model/main/DataPoint.cxx:173: data point needs a parent property set to provide values correctly
warn:legacy.osl:618456:618456:chart2/source/model/main/DataPoint.cxx:173: data point needs a parent property set to provide values correctly
warn:legacy.osl:618456:618456:chart2/source/model/main/DataPoint.cxx:173: data point needs a parent property set to provide values correctly
warn:legacy.osl:618456:618456:chart2/source/model/main/DataPoint.cxx:173: data point needs a parent property set to provide values correctly
warn:legacy.osl:618456:618456:chart2/source/model/main/DataPoint.cxx:173: data point needs a parent property set to provide values correctly
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:xmloff:618456:618456:xmloff/source/chart/SchXMLChartContext.cxx:392: unknown attribute http://www.w3.org/1999/xlink xlink:type value=simple
warn:xmloff:618456:618456:xmloff/source/chart/SchXMLChartContext.cxx:392: unknown attribute http://www.w3.org/1999/xlink xlink:type value=simple
warn:xmloff:618456:618456:xmloff/source/chart/SchXMLChartContext.cxx:392: unknown attribute http://www.w3.org/1999/xlink xlink:type value=simple
warn:legacy.osl:618456:618456:sw/source/core/access/accmap.cxx:2418: 
warn:xmloff:618456:618456:xmloff/source/chart/SchXMLChartContext.cxx:392: unknown attribute http://www.w3.org/1999/xlink xlink:type value=simple
warn:legacy.osl:618456:618456:sw/source/core/access/accmap.cxx:2418: 
warn:legacy.osl:618456:618456:sw/source/core/access/accmap.cxx:2418: 
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
warn:svl.items:618456:618456:svl/source/items/itempool.cxx:442: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty.
Comment 14 Michael Stahl (allotropia) 2023-02-13 10:02:51 UTC
(In reply to BogdanB from comment #13)
> From my test I get the Description for both as "first" and "{{second}}", but
> NO ALT atribute. The Alternative fields is empty.

sorry i forgot to mention the confusing situation here, only mentioned it in bug 148952.

you probably tested with the filter "Word 2007-365": the format exported by this filter does not have the alt-text attribute so LO can't export it.

you need to use the "Office Open XML Text (Transitional)" filter to export the attribute.

for the confusing naming of the filters, see bug 137883
Comment 15 Gabor Kelemen (allotropia) 2023-04-13 00:35:34 UTC
Verified in

Version: 7.6.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: fc6806c4be8585ce0d35a6b581bf8b3dbf858500
CPU threads: 14; OS: Windows 10.0 Build 19045; UI render: default; VCL: win
Locale: hu-HU (hu_HU); UI: hu-HU
Calc: threaded

When using the "Word 2010-365" filter, both Alt fields value is opened and saved correctly.