تخطَّ إلى المحتوى

خريطة مواصفة PDF/UA-2 (ISO 14289-2)

تربط هذه الصفحة ميزات ⁨NextPDF Core⁩ بأحكام ⁨PDF/UA-2⁩ (⁨Portable Document Format/Universal Accessibility 2⁩؛ ⁨ISO 14289-2⁩). وتوضح الأحكام التي تساعدك المكتبة على استيفائها، والأحكام التي تستبعدها صراحةً من نطاقها. ولا تمثّل هذه الصفحة ادّعاءً بالمطابقة. يعتمد إنتاج ملف مطابق على محتواك، وترميز المصدر، والتحقق باستخدام أداة فحص ⁨PDF/UA⁩ خارجية.

Terminal window
composer require nextpdf/core

تحدّد ⁨PDF/UA-2⁩ (⁨ISO 14289-2⁩) متطلبات ملفات ⁨PDF⁩ المتاحة. وتستند هذه المتطلبات إلى تسهيلات البنية المنطقية في ⁨ISO 32000-2⁩ §14.7 وإلى مُدخلات دعم الإتاحة في ⁨ISO 32000-2⁩ §14.9. يعرّف الملف المطابق نفسه عبر مخطّط التعريف الوارد في ⁨ISO 14289-2⁩ §5. وتحمل شجرة بنيته جذرًا يحتوي على عنصر Document واحد (⁨ISO 14289-2⁩ §8.2.5.2). ويستخدم أنواع البنية القياسية كي تتمكّن التقنيات المساعِدة من ربط كل وسم بدور معروف.

يوفّر ⁨NextPDF⁩ أوّليّات التأليف اللازمة لهذا النموذج: بناء شجرة البنية، وربط الأدوار القياسية، ووسم المحتوى المعلَّم انطلاقًا من ⁨HTML⁩ الدلالي، وسمات اللغة وفق ⁨BCP 47.⁩ لا يستنتج ⁨NextPDF⁩ الدلالات الغائبة عن محتوى المصدر. ولا يشغّل ⁨NextPDF⁩ أداة فحص مطابقة. تستهدف هذه الأوّليّات نموذج ⁨ISO 14289-2⁩ §3.1 الذي تستهلك فيه التقنيات المساعِدة شجرة البنية. إن إدخالك وأداة تحقق خارجية هما ما يحدّدان ما إذا كان مستند بعينه يستوفي كل حكم.

مجال الحكمنقطة الدخول في ⁨NextPDF⁩
تفعيل ⁨PDF⁩ الموسوم، ومعلومات الوسم، ولغة الفهرسDocument::enableTaggedPdf(string $lang, ?ConformancePolicy)
اللغة الطبيعية على مستوى المستندDocument::setLanguage(string $lang)
شجرة البنية وجذر Document وحيدStructureTree::createRoot()، StructureTree::addElement()
مفردات أنواع البنية القياسيةRoleMap::standard()
اللغة على مستوى العنصر، والنص البديل، ونص الاستبدالسمات مُنشئ StructureElement
التحقق الصارم وفق ⁨BCP 47⁩Bcp47Validator، ConformancePolicy::strictUa2()
المعالجة الاستدلالية (اختيارية)AccessibilityAutoFixerRegistry
<?php
declare(strict_types=1);
use NextPDF\Core\Document;
$doc = Document::createStandalone();
$doc->enableTaggedPdf(lang: 'en');
$doc->setTitle('PDF/UA-2 structure demonstration');
$doc->addPage();
$doc->writeHtml('<h1>Title</h1><p>Body.</p><ul><li>Item</li></ul>');
$doc->save(__DIR__ . '/output/ua2.pdf');
// Then validate with an external checker. NextPDF does not assert
// conformance on your behalf:
// verapdf --flavour ua2 output/ua2.pdf

عيّنة شيفرة — بيئة الإنتاج

قسم بعنوان «عيّنة شيفرة — بيئة الإنتاج»

راجع مثال الإنتاج لوحدة الإتاحة للاطلاع على الكاتب المحقون بالاعتماديات مع التحقق الصارم وفق ⁨BCP 47⁩، والتسجيل الإرشادي، ومعالجة الأخطاء. ينطبق التوصيل نفسه على سير عمل التأليف وفق ⁨PDF/UA-2.⁩ أضف خطوة التحقق الخارجي بعد التوليد. هذه الخطوة إلزامية لأي ادّعاء بالمطابقة، وتقع على عاتقك.

  • المستند الذي يفعّل ⁨PDF⁩ الموسوم من دون إرفاق أي ذرّيّة بنيوية لا يُعلن كتلة تعريف ⁨PDF/UA-2⁩، وذلك بحسب التصميم (⁨ISO 14289-2⁩ §5). ترفض أدوات التحقق شجرة بنية فارغة.
  • يؤدّي الجمع بين enablePdfA() وenableTaggedPdf() إلى اختزال مميِّز المطابقة أحادي القيمة إلى قاعدة “الأخير يفوز”، مع إبقاء الآثار الجانبية البنيوية تراكمية. يجعل تحذير CONFORMANCE_MODE_CLOBBERED هذا السلوك قابلًا للملاحظة.
  • يسمح ⁨ISO 14289-2⁩ §7.2.2 لمستند مطابق بأن يدّعي أيضًا المطابقة لتنظيمات إتاحة أوسع. يصدر ⁨NextPDF⁩ مخطّط تعريف ⁨PDF/UA-2⁩ فقط، ولا يصدر بيانات وصفية أخرى لادّعاءات تنظيمية.

ربط الأحكام وعدم التغطية الصريح

قسم بعنوان «ربط الأحكام وعدم التغطية الصريح»
مجال الحكم (⁨ISO 14289-2⁩ / ⁨ISO 32000-2⁩)دعم ⁨NextPDF⁩ملاحظات
مخطّط تعريف ⁨PDF/UA-2⁩ (⁨ISO 14289-2⁩ §5)يدعمهلا يُصدَر إلا حين تحتوي شجرة البنية على ذرّيّة.
عنصر Document وحيد تحت جذر شجرة البنية (⁨ISO 14289-2⁩ §8.2.5.2؛ ⁨ISO 32000-2⁩ §14.7.2)يدعمهيفرض createRoot() جذر Document وحيدًا.
أنواع البنية القياسية وخريطة الأدوار (⁨ISO 32000-2⁩ §14.7؛ ⁨Well-Tagged PDF⁩ §8.2.5.1)يدعمهRoleMap::standard() إضافةً إلى فضاء أسماء ⁨PDF 2.0.⁩
تسلسلات المحتوى المعلَّم والشجرة الأبوية (⁨ISO 32000-2⁩ §14.7.2)يدعمهمعرّفات على مستوى الصفحة، واستمرارية عبر الصفحات.
اللغة الطبيعية على مستوى الفهرس وعلى مستوى العنصر (⁨ISO 32000-2⁩ §14.9؛ ⁨ISO 14289-2⁩ §8.4.4)يدعمه⁨BCP 47⁩؛ يرفض الوضع الصارم الوسوم المُشوَّهة.
حوامل النص البديل ونص الاستبدال (⁨ISO 32000-2⁩ §14.9)يدعم الحامل؛ أمّا المحتوى فيقدّمه المؤلفلا تولّد المكتبة النص البديل.
ترتيب القراءة المنطقي (⁨ISO 32000-2⁩ §14.7)يدعم ترتيب المصدر؛ ولا يعيد ترتيب المحتوىيقع تصحيح ترتيب القراءة على عاتق المؤلف.
ربط ترويسات الجداول ونطاقهاخارج النطاق فيما يتجاوز ترميز ⁨HTML⁩لا يُستنتج؛ بل يعتمد على ترميز المصدر.
صحّة مستوى العناوين والمخطّط التفصيليخارج النطاقيجب على المؤلف توفير تسلسل هرمي صحيح للعناوين.
التحقق الشامل من ⁨PDF/UA-2⁩خارج النطاقلا توجد أداة فحص مرفقة؛ تحقّق خارجيًّا.
إثبات المطابقة أو الاعتمادخارج النطاقلا توفّره المكتبة.

تضيف تسهيلات شجرة البنية تمريرة تسلسل خطية واحدة على مجموعة العناصر. تأتي التكلفة بالدرجة الأولى من خطّ معالجة ⁨HTML⁩، لا من إصدار الوسوم. ينطبق سقف performance_budget على مستند دلالي متعدّد الصفحات نموذجي.

تُهرَّب قيم اللغة وسمات الإتاحة عبر PdfStringEscaper قبل دخولها إلى بنية كائنات ⁨PDF.⁩ يحدّ التحقق وفق ⁨BCP 47⁩ في الوضع الصارم من سطح إدخال وسوم اللغة عند حدّ واجهة ⁨API.⁩ عامِل النص البديل والعناوين التي يقدّمها المؤلف بوصفها مُخرجات غير موثوقة.

يُصدر ⁨NextPDF⁩ بنيةً متّسقة مع نموذج شجرة بنية ⁨PDF/UA-2⁩ المعرَّف في ⁨ISO 14289-2⁩ و⁨ISO 32000-2⁩ §14.7. وهو لا يؤكّد أن مستندًا بعينه مطابق لـ ⁨PDF/UA-2.⁩ تحقّق بأداة فحص ⁨PDF/UA⁩، مثل ⁨veraPDF⁩؛ فالمكتبة لا تؤكّد المطابقة نيابةً عنك. يُتخطّى اختبار ⁨veraPDF⁩ الذهبي لـ ⁨UA-2⁩ المرفق حين يغيب ثنائي ⁨veraPDF⁩، ومن ثَمّ لا يُدَّعى هنا أي اجتياز للمطابقة. البنود المُستشهَد بها مُعاد صياغتها، ولا تُقتبَس قطّ؛ وتُسجَّل بصمات المقاطع في docs/public/modules/core/_normative-evidence-a11y.md.

يتطلّب ادّعاء المطابقة لـ ⁨PDF/UA-2⁩ دلالاتٍ يقدّمها المؤلف (النص البديل، والتسلسل الهرمي الصحيح للعناوين، وربط ترويسات الجداول، وترتيب القراءة المقصود، وتصنيف المحتوى الزخرفي) والتحقق بأداة فحص خارجية. لا تنتج المكتبة أيًّا من هذه الدلالات ولا تتحقق منها. يصدر وقت التشغيل إرشادًا من نوع ⁨Degraded⁩ / ⁨ComplianceRisk⁩ يوجّهك إلى التحقق خارجيًّا قبل اعتماد بيئة الإنتاج. المطابقة خاصّية للمستند النهائي ولعملية التأليف، لا لاستدعاء واجهة ⁨API.⁩