SetStructElemAltText
带标签 PDF & 辅助功能
描述
在标签堆栈中当前正在构建的结构元素上设置 /Alt 条目,替代文本是在元素无法直观呈现时,辅助技术(屏幕阅读器、盲文显示器)向用户提供的文字说明,例如图像、图形或数学公式
此函数等同于向 AltText 参数传递非空值后调用 BeginTag 或 BeginTagEx,但允许在元素打开后设置或更新替代文本,当已知元素类型后再异步计算或检索描述时,此函数十分有用
语法
Delphi
Function TPDFlib.SetStructElemAltText(Const AltText: WideString): Integer;
ActiveX
Function PDFlib::SetStructElemAltText(AltText As String) As Long
DLL
int DLSetStructElemAltText(int InstanceID, const wchar_t * AltText);
参数
| AltText | 要与当前结构元素关联的替代文本说明。传递空字符串可清除先前设置的值 |
|---|
返回值
成功返回 1;如果当前没有打开的结构元素或没有选中文档,则返回 0
备注
目标元素位于 tag stack 顶部时,应在 BeginTag 后立即调用此函数;也可以在匹配的 EndTag 调用前的任意时刻调用
AltText 和 ActualText 用途不同,AltText 是整个元素的完整文本替代内容 — 它为无法感知渲染输出的用户替代视觉内容,ActualText(ISO 32000-1 §14.9.4)为提取文本原本会不正确的内联字形(如连字)提供精确的 Unicode 字符序列,且不会替代渲染,屏幕阅读器通常会朗读 Figure 和 Formula 元素的 AltText,并使用 ActualText 进行字符级修正
ISO 32000-1 §14.9.3 定义了 /Alt 条目,PDF/UA-1(ISO 14289-1 §7.5)要求 Figure 和 Formula 结构元素具有替代描述,当 Figure 或 Formula 元素缺少 Alt 文本时,GetPDFUADiagnostics 会报告 FIGURE-NO-ALT:N 问题代码
示例
// Tag an embedded chart image with alternative text
PDFlib.BeginTag('Figure', '', '');
PDFlib.SetStructElemAltText('Bar chart: Q1 sales 120, Q2 sales 145, Q3 sales 98');
PDFlib.SetStructElemBBox(x, y, x + w, y + h);
PDFlib.DrawImage(imgHandle, x, y, w, h);
PDFlib.EndTag;另请参阅
BeginTag, BeginTagEx, SetStructElemActualText, SetStructElemLang, GetPDFUADiagnostics