จัดการการเข้าถึงงานนำเสนอใน C++

บทนำ

ข้อความแทนช่วยให้ผู้ใช้เทคโนโลยีช่วยเหลือเข้าใจความหมายของภาพ, แผนภูมิ, และรูปร่างข้อมูลอื่น ๆ บทความนี้อธิบายวิธีการอ่านและอัปเดตหัวข้อความแทนและคำอธิบายด้วย Aspose.Slides for C++, แยกคำอธิบายการเข้าถึงจากชื่อรูปร่างที่ใช้ในโค้ด, และตรวจสอบว่ารูปร่างนั้นถูกทำเครื่องหมายว่าเป็นแบบประดับหรือไม่

คุณลักษณะเหล่านี้สนับสนุนการเข้าถึงงานนำเสนอ, แต่ไม่ได้รับประกันว่าจะเข้าถึงได้ทั้งหมด การตรวจสอบลำดับการอ่าน, ความคอนทราสต์ของสี, ความอ่านง่ายของข้อความ, และข้อกำหนดการเข้าถึงอื่น ๆ ยังต้องได้รับการตรวจสอบด้วย

จัดการหัวข้อความแทนและคำอธิบาย

ใช้ข้อความแทนเพื่ออธิบายความหมายของภาพ, แผนภูมิ, และรูปร่างข้อมูลอื่น ๆ ให้กับผู้ที่ไม่สามารถมองเห็นได้ คุณลักษณะต่อไปนี้มีวัตถุประสงค์ที่แตกต่างกัน

คุณสมบัติหรือเนื้อหา วัตถุประสงค์
AlternativeTextTitle หัวข้อสั้นสำหรับคำอธิบายแทน
AlternativeText คำอธิบายที่มีความหมายของเนื้อหาหรือวัตถุประสงค์ของรูปร่างในบริบทของสไลด์
Name ชื่อของรูปร่าง ซึ่งโค้ดสามารถใช้เพื่อค้นหารูปร่างเฉพาะในงานนำเสนอ
Visible text เนื้อหาที่แสดงบนสไลด์ เช่น ข้อความของรูปร่างหรือหัวข้อและป้ายกำกับของแผนภูมิ การอัปเดตข้อความแทนจะไม่เปลี่ยนเนื้อหานี้

เมื่อใช้งานนำเสนอเป็นเทมเพลต โค้ดอาจค้นหารูปร่างโดยใช้ Name ก่อนทำการอัปเดต ชื่อนี้มีวัตถุประสงค์ที่แตกต่างจากข้อความแทนซึ่งอธิบายว่าภาพที่มองเห็นสื่ออะไรให้ผู้อ่าน การค้นหาโดยชื่อช่วยให้ผู้เขียนปรับปรุงหรือแปลคำอธิบายโดยไม่ต้องเปลี่ยนวิธีที่โค้ดค้นหารูปร่าง ชื่อสามารถแก้ไขได้และไม่รับประกันว่าจะไม่ซ้ำกัน ดังนั้นตรวจสอบว่าชื่อสอดคล้องกับรูปร่างที่ต้องการ; ดูที่ Identify and Find Shapes

ตัวอย่างต่อไปนี้ต้องการไฟล์ input.pptx ที่มีรูปภาพของทางเข้าหอสำนักงานเป็นรูปร่างแรกบนสไลด์แรก รูปภาพนั้นไม่ควรทำเครื่องหมายว่าเป็นแบบประดับ ตัวอย่างจะอ่านและพิมพ์หัวข้อความแทนและคำอธิบายปัจจุบัน, อัปเดตค่าทั้งสอง, แล้วบันทึกงานนำเสนอเป็น output.pptx ปรับข้อความให้ตรงกับรูปภาพจริงและข้อมูลที่สื่อสาร

#include <DOM/IShape.h>
#include <DOM/ISlide.h>
#include <DOM/Presentation.h>
#include <Export/SaveFormat.h>
#include <system/console.h>

using namespace Aspose::Slides;
using namespace Aspose::Slides::Export;
using namespace System;

auto presentation = MakeObject<Presentation>(u"input.pptx");
auto shape = presentation->get_Slide(0)->get_Shape(0);

Console::WriteLine(u"Alternative text title: {0}", shape->get_AlternativeTextTitle());
Console::WriteLine(u"Alternative text description: {0}", shape->get_AlternativeText());

shape->set_AlternativeTextTitle(u"Office entrance");
shape->set_AlternativeText(u"The office entrance has a wheelchair ramp to the right of the steps.");

presentation->Save(u"output.pptx", SaveFormat::Pptx);
presentation->Dispose();

การเพิ่มข้อความแทนอย่างเดียวไม่รับประกันว่าการนำเสนอจะเข้าถึงได้หรือสอดคล้องกับมาตรฐานการเข้าถึง ตรวจสอบความแม่นยำและความเกี่ยวข้องของคำอธิบาย, รวมถึงลำดับการอ่าน, ความคอนทราสต์ของสี, ความอ่านง่ายของข้อความ, และข้อกำหนดการเข้าถึงอื่น ๆ ควรทำให้ภาพข้อมูลไม่ทำเครื่องหมายว่าเป็นแบบประดับ; ส่วนต่อไปจะแสดงวิธีอ่าน IsDecorative

ทำเครื่องหมายว่าเป็นแบบประดับ

ทำเครื่องหมายว่าเป็นแบบประดับใช้กับภาพที่เป็นเพียงการตกแต่งเพื่อให้โปรแกรมอ่านหน้าจอข้ามผ่าน ลดเสียงรบกวนและทำให้โฟกัสอยู่ที่เนื้อหาที่มีความหมาย นำไปใช้กับพื้นหลัง, ลวดลาย, หรือช่องว่าง—แต่ไม่ใช้กับแผนภูมิ, ไอคอน, หรือภาพที่สื่อข้อมูล Aspose.Slides เปิดเผยแฟล็กนี้เพื่อการตรวจจับและตรวจสอบ, ช่วยให้ทำการตรวจสอบการเข้าถึงอัตโนมัติและทำความสะอาด

Mark as Decorative

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีกำหนดว่ารูปร่างถูกทำเครื่องหมายว่าเป็นแบบประดับหรือไม่

#include <DOM/IShape.h>
#include <DOM/ISlide.h>
#include <DOM/Presentation.h>
#include <system/console.h>

using namespace Aspose::Slides;
using namespace System;

auto presentation = MakeObject<Presentation>(u"sample.pptx");

auto shape = presentation->get_Slide(0)->get_Shape(0);
Console::WriteLine(u"Is shape decorative: {0}", shape->get_IsDecorative());

presentation->Dispose();

คำถามที่พบบ่อย

ฉันควรใส่อะไรในหัวข้อความแทนและคำอธิบาย?
ใช้หัวข้อสั้นเพื่อระบุหัวข้อและคำอธิบายเพื่ออธิบายข้อมูลที่ภาพสื่อในบริบทของสไลด์ สำหรับแผนภูมิให้บรรยายแนวโน้มหรือการเปรียบเทียบที่เกี่ยวข้อง แทนการระบุว่าเป็น “แผนภูมิ” เพียงอย่างเดียว

ควรใช้ข้อความแทนเพื่อค้นหารูปร่างในเทมเพลตหรือไม่?
ควรค้นหารูปร่างโดยใช้ Name และตรวจสอบว่าตรงกับรูปร่างที่ต้องการ ข้อความแทนอาจถูกแก้ไขหรือแปลภาษา ซึ่งอาจทำให้โค้ดที่ค้นหาคำอธิบายแบบตรงตัวล้มเหลว; ดูที่ Identify and Find Shapes

เมื่อใดควรทำเครื่องหมายรูปร่างว่าเป็นแบบประดับ?
ใช้แฟล็กประดับกับภาพที่ไม่เพิ่มข้อมูลใด ๆ เช่น ลวดลายตกแต่ง ภาพและแผนภูมิที่สื่อความหมายต้องมีคำอธิบายที่เหมาะสมแทน

การเพิ่มข้อความแทนทำให้งานนำเสนอเข้าถึงได้เต็มรูปแบบหรือไม่?
ไม่ การเพิ่มข้อความแทนเพียงส่วนหนึ่งของการเข้าถึง ยังต้องตรวจสอบลำดับการอ่าน, ความคอนทราสต์ของสี, ความอ่านง่ายของข้อความ, และข้อกำหนดที่เกี่ยวข้องอื่น ๆ; การตั้งค่าเหล่านี้เพียงอย่างเดียวไม่ถือว่าเป็นการปฏิบัติตามมาตรฐาน