سبزشدن یک اسکن خودکار، اجرای یک‌باره با صفحه‌کلید یا نصب Screen Reader هنوز «برنامهٔ تست دسترس‌پذیری» نیست. برنامه زمانی شکل می‌گیرد که سازمان بداند کدام محصول، نسخه، مسیر و State را بر اساس کدام استاندارد و Policy می‌سنجد؛ چه کسی نتیجه را تفسیر و اصلاح می‌کند؛ شواهد تا چه زمانی معتبرند؛ چه استثنایی با کدام مالک پذیرفته شده؛ و کاربری که با مانع روبه‌رو می‌شود چگونه پاسخ می‌گیرد.

این مقاله مالک ساخت و ادارهٔ برنامه تست دسترس‌پذیری است: Policy → Scope و Inventory → روش ارزیابی و نمونه → Automation/Manual/AT/User Evidence → Remediation → Release Gate → Accessibility Statement و Monitoring. برای یادگیری خود معیارها، Keyboard، Screen Reader، فرم، Contrast و چک‌لیست اجرایی به راهنمای تست دسترس‌پذیری بر پایه WCAG ۲.۲ مراجعه کنید؛ بحث قانون و اخلاق نیز در راهنمای الزامات قانونی و مسئولیت اخلاقی دسترس‌پذیری مالک جداگانه دارد.

پاسخ کوتاه: برنامه تست دسترس‌پذیری چیست؟

یک نظام نسخه‌دار برای تبدیل هدف دسترس‌پذیری به شواهد و تصمیم است. این نظام Scope، استاندارد و سطح هدف، فناوری‌های مورد اتکا، فرایندهای کامل، نمونهٔ نماینده، مرور خودکار و انسانی، ترکیب مرورگر/فناوری کمکی، مشارکت کاربران، قالب Finding، SLA اصلاح، استثنا، Gate، ادعای انطباق و بازبینی مداوم را به هم متصل می‌کند.

لایهپرسش تصمیمخروجی
Policyچه هدفی، برای چه دامنه‌ای و تا چه زمانی؟Accessibility Policy
Evaluationچه چیز، با چه روش و نمونه‌ای آزمون شد؟Evaluation Plan/Report
Remediationمانع چگونه، توسط چه کسی و در کدام Build رفع می‌شود؟Finding Register
Decisionآیا شواهد برای انتشار/ادعا کافی است؟Accessibility Release Memo
User communicationمحدودیت و کانال کمک چگونه اعلام می‌شود؟Accessibility Statement
Monitoringپس از تغییر و در Production چه چیزی بازبینی می‌شود؟Dashboard + Feedback loop

چرا «A11y Mindset» بدون قرارداد اجرایی کافی نیست؟

تعهد و همدلی برای آغاز مهم‌اند، اما معیار پذیرش، مسئولیت و قابلیت ممیزی نمی‌سازند. یک تیم ممکن است با نیت خوب Alt Text بنویسد و هم‌زمان Checkout، Authentication یا PDF را از Scope حذف کند. برنامه، ارزش را به عمل قابل سنجش وصل می‌کند و از تبدیل دسترس‌پذیری به کمپین مقطعی یا وظیفهٔ یک قهرمان تنها جلوگیری می‌کند.

عبارت مبهمقرارداد قابل آزمون
محصول برای همه قابل استفاده باشدScope، کاربران/نیازها، استاندارد، سطح، نسخه و روش معلوم
تیم A11y را رعایت می‌کندDefinition of Done و مالک هر Artifact ثبت شده
ابزار خطایی نشان ندادRule/version/applicability و Manual remainder گزارش شده
با Screen Reader تست شدAT/browser/version/task/state/operator و نتیجه ثبت شده
AA هستیمشرایط Conformance و Claim کامل بررسی شده
بازخورد می‌گیریمکانال قابل دسترس، مالک، SLA، Escalation و Closure وجود دارد

مرز این صفحه با راهنمای WCAG و تست کاربردپذیری

موضوعمالکاین مقاله چه می‌گیرد؟
معیارهای WCAG، Keyboard، Screen Reader، فرم و Contrastراهنمای تست A11yپوشش و شواهد آن‌ها را برنامه‌ریزی می‌کند
قانون، حوزه قضایی و مسئولیت اخلاقیراهنمای قانون/اخلاقApplicability review را الزام می‌کند
Task، Context و رفتار کاربرراهنمای کاربردپذیری سازمانیمشارکت افراد دارای معلولیت را با Conformance ترکیب می‌کند
اتوماسیون عمومی و CIنقشه راه تست خودکارRule contract و A11y quality gate می‌سازد
حریم خصوصی دادهٔ شرکت‌کننده/ضبطراهنمای حریم خصوصی QAحداقل‌گرایی و Retention را در Evidence می‌گنجاند
Runbook، Support و Rollbackآمادگی عملیاتیپاسخ به مانع و انتشار را Gate می‌کند

نسخه و وضعیت مرجع را قفل کنید

WCAG 2.2 یک W3C Recommendation و مرجع هنجاری معیارهای موفقیت و شرایط Conformance است. WCAG-EM 1.0 یک W3C Working Group Note برای ساختار ارزیابی وب‌سایت است و الزام تازه‌ای به WCAG اضافه نمی‌کند. در زمان نگارش این مقاله، WCAG-EM ۲.۰ که محصولات دیجیتال گسترده‌تری را هدف گرفته هنوز Draft است؛ آن را نباید بی‌برچسب به‌عنوان استاندارد نهایی قرارداد کرد.

مرجعوضعیت/کاربردخطای رایج
WCAG 2.2معیارها و Conformance وباستفاده از یک Checklist بدون شرایط Conformance
Understanding/Techniquesراهنمای informative برای فهم/پیاده‌سازینامیدن Technique به‌عنوان تنها راه الزام‌آور
WCAG-EM 1.0روش ارزیابی Conformance وب‌سایتتعمیم بی‌قید به همهٔ محصولات native
WCAG-EM 2.0 Draftپیش‌نویس در حال تکاملادعای نسخهٔ نهایی یا ثابت
ACT Rulesقواعد informative برای تست شفاف‌تریکی‌گرفتن Pass همه Rules با Conformance کامل
Policy/قانون قراردادیهدف سازمان/حوزهٔ کاربردفرض اینکه WCAG به‌تنهایی Applicability قانونی را تعیین می‌کند

Accessibility Policy را از Test Plan جدا کنید

راهنمای Planning and Managing در WAI دسترس‌پذیری را فعالیتی تکرارشونده در چرخهٔ تولید می‌بیند. Policy هدف، دامنه، استاندارد، مسئولیت، نقاط عطف و پایش را تثبیت می‌کند؛ Test Plan برای یک Release یا Evaluation مشخص، روش و شواهد را تعریف می‌کند. تغییر Test Plan نباید بی‌اجازه هدف Policy را کوچک کند.

Accessibility Policy Contract
policy_id / owner / approver / effective_date / review_date
products / channels / domains / languages / third_parties
target_standard / version / level / applicable_profile
complete_processes / content_types / authoring_tools
roles / training / procurement / definition_of_done
evaluation_frequency / release_gates / monitoring
feedback_channel / response_sla / escalation
exception_authority / maximum_duration / disclosure
applicable_law_or_contract_review_ref
change_history

هدف AA را پیش‌فرض جهانی اعلام نکنید

WCAG سطوح A، AA و AAA را تعریف می‌کند، اما انتخاب هدف سازمان به Scope، قانون/قرارداد، ریسک، کاربر، پلتفرم و Policy وابسته است. WCAG ۲.۲ نیز توصیه نمی‌کند AAA سیاست عمومی همهٔ سایت‌ها باشد، چون برآورده‌کردن همهٔ معیارهای AAA برای بعضی محتواها ممکن نیست. از طرف دیگر «فقط A» یا «AA برای اکثر سایت‌ها» بدون Applicability review، تصمیم معتبر پروژه نیست.

Scope Contract: دقیقاً چه چیزی داخل ارزیابی است؟

بعد Scopeنمونهٔ ثبت
Product/ReleaseWeb portal 8.4 / build hash
Hostsدامنه، subdomain و embedded origin
ChannelsResponsive web، PWA، email، PDF
Languagesfa-IR و en؛ صفحه‌های mixed language
RolesAnonymous، customer، agent، admin
Complete processesSignup، purchase، recovery، complaint
Content typesArticle، form، data grid، video، map
StatesDefault، error، empty، loading، timeout، success
Third partyPayment widget، chat، identity provider
Excludedمورد، دلیل، ریسک، مالک و تاریخ انقضا

عبارت «کل سایت» بدون تعریف Host، نقش، زبان، محتوای پویا و مسیرهای کامل قابل بازتولید نیست. Scope را با URL list تنها نسازید؛ یک Route می‌تواند ده‌ها State و Variant داشته باشد.

Full Page و Complete Process را در Gate حفظ کنید

شرایط Conformance در WCAG ۲.۲ شامل صفحهٔ کامل و فرایند کامل است. اگر Checkout زنجیره‌ای از صفحه‌هاست، نمی‌توان صفحهٔ پرداخت را جداگانه مطابق نامید در حالی که Address step همان مسیر مانع دارد. Variantهای Responsive که خودکار ارائه می‌شوند نیز بخشی از صفحه‌اند. برنامه باید گراف مسیر را نگه دارد تا نمونه‌گیری یک گام حیاتی را جا نگذارد.

Complete Process Manifest
process_id: SYN-PURCHASE-v4
start: product discovery
steps: product → cart → address → payment → receipt
roles: guest/member
required states: default/error/timeout/re-auth/success
technologies relied upon: HTML/CSS/JavaScript/ARIA/SVG
third-party boundaries: identity/payment
evidence_refs: per step + end-to-end run
owner / version / last_reviewed

Inventory را پیش از Sample بسازید

نمونهٔ نماینده بدون شناخت دارایی‌ها تصادفی نیست؛ ناقص است. Inventory باید Template، Component، Content type، نقش، زبان، State، فناوری، مسیر بحرانی، حجم/تغییر و مالک را بشناسد. Sitemap فقط صفحهٔ عمومی را می‌بیند و معمولاً Modal، validation error، session timeout، SPA route، سند دانلودی و پنل role-based را از دست می‌دهد.

منبع کشفچه چیزی می‌یابد؟Gap محتمل
Crawl/SitemapURL عمومی و TemplateAuth/state/dynamic
Route/configمسیر و Feature flagمحتوای CMS
Design systemComponent و patternترکیب در Workflow
Analytics aggregateمسیرهای پرترافیککار کم‌ترافیک اما حیاتی
Support/feedbackمانع واقعی گزارش‌شدهمانع گزارش‌نشده
Process ownerفرایند و استثنارفتار پیاده‌سازی
Repository diffتغییر کد/محتواوابستگی و Regression دوردست

نمونهٔ نماینده را قابل دفاع انتخاب کنید

WCAG-EM ساختار Define scope → Explore → Select representative sample → Evaluate → Report را پیشنهاد می‌کند. نمونه باید Structured pages/states و در صورت روش انتخابی، بخش تصادفی را پوشش دهد. «ده صفحهٔ اول» یا «صفحات پربازدید» نمایندگی را تضمین نمی‌کند.

لایهٔ نمونهنمونهدلیل
Key processثبت‌نام و بازیابی حسابOutcome کامل
TemplateArticle، listing، detail، formالگوی مشترک
ComponentDialog، tabs، grid، comboboxرفتار تعاملی
StateError، empty، timeout، successDOM/پیام متفاوت
Languageفارسی RTL، انگلیسی و mixedنام/جهت/خواندن متفاوت
Roleکاربر و مدیرUI و Permission متفاوت
Changed/high-riskAuth یا پرداخت جدیداحتمال و پیامد
Random supplementاز Population تعریف‌شدهکاهش سوگیری کشف

Sampling هیچ‌گاه «صفحات خارج نمونه مطابق‌اند» را ثابت نمی‌کند

نتیجهٔ نمونه دربارهٔ Scope و روش انتخاب‌شده تفسیر می‌شود. Component مشترک می‌تواند اعتماد به تعمیم را افزایش دهد، اما Override محتوا، Feature Flag، داده و نقش ممکن است رفتار را تغییر دهد. Report باید Population، نمونه، منطق انتخاب، محدودیت و صفحات/Stateهای بررسی‌نشده را شفاف کند.

Test Matrix را چندبعدی و لایه‌ای بسازید

بعدسطح‌هاراهبرد پوشش
BuildPR/RC/Productionعمق افزایشی
SurfaceWeb/email/PDF/videoروش تخصصی هر Surface
InputKeyboard/pointer/touch/voiceمسیرهای بحرانی + Component
PerceptionScreen reader/zoom/high contrast/captionsترکیب هدف
Languagefa/en/mixedنمونهٔ Template و مسیر
Statedefault/error/loading/timeout/successFixture deterministic
Viewportresponsive orientationsBreakpoint risk
Rolepublic/auth/adminUI متفاوت

ضرب کامل همهٔ ابعاد معمولاً عملی نیست. پوشش لایه‌ای بسازید: Static/lint در authoring، Component automation، PR smoke، RC representative workflow، AT matrix و ارزیابی دوره‌ای عمیق. هر کاهش Matrix باید Risk rationale و Coverage gap داشته باشد.

Test Basis را از Checklist جدا کنید

Test Basis شامل متن هنجاری معیار، شرایط Conformance، فناوری و Policy است. Techniques، Understanding، APG و Checklist به تفسیر/پیاده‌سازی کمک می‌کنند، اما ممکن است informative یا نمونه‌ای باشند. برای هر Test Case مشخص کنید الزام کدام است، روش ارزیابی چیست، Applicability چگونه تعیین می‌شود و چه Artifactی Pass/Fail/Not Applicable را پشتیبانی می‌کند.

Accessibility Test Case Contract
case_id / version / owner
requirement_ref / normative_or_informative
applicability_precondition
surface / page_state / component / content
setup / technology / browser / AT / viewport
procedure / expected_result / oracle
outcome: passed | failed | inapplicable | cantTell
evidence_ref / evaluator / timestamp / build
limitations / related_cases

ACT Rules چه می‌دهند و چه نمی‌دهند؟

فهرست ACT Rules در W3C قواعد approved/proposed/deprecated برای آزمون خودکار، نیمه‌خودکار یا دستی دارد. این قواعد informative هستند و ممکن است فقط یک جنبه از یک Success Criterion را پوشش دهند؛ Pass یک Rule مساوی Pass تمام معیار نیست. Rule ID، status، version و نگاشت ابزار باید در Baseline ثبت شود تا تغییر ابزار نتیجهٔ تاریخی را بی‌معنا نکند.

فیلد Rule Registryدلیل
rule_id/titleهویت پایدار
status/dateApproved/Proposed/Deprecated
requirement mappingدامنهٔ ادعا
implementation/tool versionتکرارپذیری
applicabilityتفاوت Not Applicable با Pass
outcome vocabularyPassed/Failed/Inapplicable/CantTell
manual remainderآنچه Rule نمی‌سنجد
known divergenceاختلاف روش/ابزار

Automation را Rule-based کنید، نه Score-based

راهنمای انتخاب ابزار ارزیابی WAI صریح است که ابزارها همهٔ جنبه‌ها را خودکار نمی‌سنجند، ممکن است نتیجهٔ گمراه‌کننده بدهند و نمی‌توانند خودشان دسترس‌پذیری را تعیین کنند. درصد ثابت مانند «ابزارها همیشه ۳۰ تا ۴۰ درصد می‌یابند» نیز بدون تعریف معیار، محتوا، Rule set و روش اندازه‌گیری قابل تعمیم نیست.

  • Gate را بر Rule ID و Severity قراردادی بنا کنید، نه امتیاز تجمیعی فروشنده.
  • New violation، Baseline debt و Regression را جدا گزارش کنید.
  • False positive را با Evidence و Reviewer ثبت کنید؛ آن را خاموش و فراموش نکنید.
  • inapplicable را Pass ننامید و cantTell را Fail قطعی نکنید.
  • DOM state، viewport، auth، language و fixture اجرا را ثبت کنید.
  • تغییر Engine/Rule set را مثل تغییر Test Basis مدیریت کنید.

CI Pipeline چندلایه برای دسترس‌پذیری

لایهزمانشاهدمحدودیت
Lint/authoringهنگام نوشتنRule resultRuntime/context را نمی‌بیند
ComponentUnit/storyDOM/state snapshotsترکیب صفحه را نمی‌بیند
PR browserChanged routes/statesMachine report + artifactدامنهٔ Rule محدود
RC workflowsپیش از انتشارKeyboard/AT/manual traceنمونه است
Periodic auditنسخه‌دار/دوره‌ایWCAG-EM-style reportنقطهٔ زمانی
Production monitoringپس از انتشارscan/feedback/trendجای ارزیابی انسانی نیست
A11y CI Artifact
build / commit / branch / timestamp
tool_engine / version / rule_set_hash
browser / viewport / locale / auth_role
route / state_fixture / component_version
passed / failed / inapplicable / cantTell by rule_id
new / existing / waived with exception_ref
DOM_or_screenshot_ref (masked)
manual_follow_up / owner / due_date

Baseline Debt را مجوز Regression نکنید

در محصول قدیمی ممکن است صفرکردن همه Findings در یک Release ممکن نباشد. Baseline می‌تواند Regression تازه را متوقف کند، اما بدهی را مطابق یا کم‌اهمیت نمی‌کند. هر مورد باید شناسه، اثر کاربر، معیار مرتبط، مالک، برنامه، Milestone و Expiry داشته باشد. Baseline بر اساس Count خام هم خطرناک است: حذف یک نقص و افزودن یک نقص پرخطر عدد را ثابت نگه می‌دارد.

تست دستی را Protocol کنید

«یک دور با Tab رفتیم» یا «NVDA را باز کردیم» قابل تکرار نیست. Manual Protocol باید Setup، Task، State، انتظار، کلیدها/gesture، Browser/AT، Outcome و Evidence را ثبت کند. تستر باید تفاوت میان عملکرد استاندارد فناوری کمکی، ترجیح شخصی و مانع محصول را بداند.

پروتکلنمونهٔ پوشش
Keyboard onlyOrder، visibility، trap، shortcut، modal، error recovery
Zoom/Reflow۲۰۰%، viewport هدف، loss/overlap/two-axis scroll
Text spacingoverride و حفظ محتوا/عملکرد
High contrast/colorsforced colors، non-text cues، focus
Screen readerstructure، name/role/state، status، forms، live changes
Touch/pointertarget، drag alternative، cancellation، orientation
Mediacaptions، transcript، audio description applicability
Cognitive/input helplabels، errors، redundant entry، authentication

Screen Reader «شبیه‌ساز نابینایی» نیست

تستر بینا با Screen Reader می‌تواند Semantics، announcement، navigation و interaction contract را بررسی کند؛ تجربهٔ زیسته یا مهارت کاربر نابینا را شبیه‌سازی نمی‌کند. خاموش‌کردن نمایشگر یا بستن چشم نیز این شکاف را پر نمی‌کند. نتیجه باید «اجرای فنی با ترکیب X» نامیده شود، نه «تجربهٔ واقعی همهٔ کاربران نابینا».

AT Run Manifest
run_id / build / evaluator / proficiency
operating_system / version
browser / version
assistive_technology / version / settings
language / voice / input_mode
task / page_state / fixture
expected announcements and interaction
actual trace / outcome / evidence
known support limitation / follow_up

AT × Browser Matrix را بر اساس کاربران و Support انتخاب کنید

فهرست بلند همهٔ ترکیب‌ها نه ممکن است و نه لزوماً نماینده. ترکیب هدف را با مخاطب، analytics کمینه، Policy، فناوری‌های مورد اتکا، قرارداد/حوزهٔ کاربرد، دادهٔ پشتیبانی و ریسک انتخاب کنید. نسخه و تنظیمات مهم‌اند؛ نتیجهٔ یک ترکیب را به همهٔ Screen Readerها یا مرورگرها تعمیم ندهید.

Tierهدفنمونهٔ تصمیم
Primaryترکیب‌های واقعاً مورد اتکاهر Release برای فرایند بحرانی
Secondaryپوشش ریسک و تفاوت EngineRelease بزرگ/دوره‌ای
Exploratoryترکیب نو/کم‌دادهتحقیق بدون Claim عمومی
Unsupported/unknownGap شفافدر Report/Statement با مسیر کمک

Accessibility Support یک فهرست نام مرورگر نیست

WCAG اجازه می‌دهد فقط روش‌های accessibility-supported برای برآوردن معیارها مورد اتکا باشند. برنامه باید قابلیت مشخص، فناوری، User agent، AT و شواهد پشتیبانی را ثبت کند. اینکه «Chrome و NVDA باز شدند» ثابت نمی‌کند همهٔ الگوها پشتیبانی می‌شوند؛ حمایت برای Feature مورد اتکا و Context استفاده بررسی می‌شود.

Design System را به Evidence System تبدیل کنید

Component library می‌تواند مانع را پیش از تکثیر مهار کند، اما Badge «Accessible» دائمی نیست. Contract باید anatomy، semantics، keyboard، focus، states، content constraints، responsive behavior، high contrast، RTL، known limitations و ترکیب‌های آزموده را نسخه‌دار کند. مصرف‌کننده نیز می‌تواند با label غلط، ترتیب DOM، CSS override یا composition نامناسب Component سالم را خراب کند.

Evidence سطح ComponentEvidence سطح مصرف
Semantic contractنام و Help واقعی
Keyboard statesترتیب Focus در Workflow
Focus managementInvoker/next step درست
Contrast tokensترکیب رنگ و پس‌زمینهٔ واقعی
Error patternپیام دامنه‌ای و Summary
RTL/zoom storiesمحتوا و Layout صفحه
AT matrixEnd-to-end task
Known limitsMitigation/exception واقعی

Content و CMS بخشی از برنامه‌اند

کد سالم با Heading بی‌منطق، لینک مبهم، Alt نامناسب، جدول بدون Header یا ویدئوی بدون جایگزین دوباره مانع می‌سازد. Authoring guide، Template constraint، lint در CMS، Preview، آموزش نقش‌محور و نمونه‌برداری منتشرشده لازم‌اند. Alt Text به‌طور خودکار «SEO بهتر» یا دسترس‌پذیری تصویر را تضمین نمی‌کند؛ هدف و Context تصویر تعیین می‌کند چه جایگزینی لازم است.

PDF، Email، Video و Mobile را با روش Web خام نسنجید

Surfaceریسک ویژهEvidence جدا
PDFTags، reading order، form fields، export parityDocument/version/viewer/AT
EmailClient variance، structure، link context، dark modeTemplate/client matrix
Video/audioCaption accuracy/timing، transcript، descriptionmedia-language review
Native mobileplatform semantics، gestures، dynamic typeOS/AT/device manifest
Canvas/map/chartnon-DOM interaction و data alternativetask-specific alternative
Kiosk/devicehardware/input/environmentphysical context test

اگر محصول فقط وب نیست، WCAG-EM ۱.۰ را بی‌توضیح به همهٔ سطوح تعمیم ندهید. استاندارد/روش/قانون مناسب Surface را در Applicability Matrix تعیین کنید و وضعیت Draft منابع آینده را روشن بنویسید.

زبان فارسی و RTL را در Program Matrix نگه دارید

صفحهٔ فارسی ممکن است در DOM زبان اشتباه داشته باشد، بخش انگلیسی بدون زبان بماند، Focus order با چیدمان RTL ناسازگار شود، Bidi شناسه/عدد را مخدوش کند، Font در Zoom بشکند یا ترجمهٔ Label با Accessible Name متفاوت شود. این‌ها با بررسی نسخهٔ انگلیسی اثبات نمی‌شوند. معیارهای تخصصی در راهنمای ۷۶۱ می‌مانند؛ برنامه باید Locale، جهت، numeral set، content variant و AT voice را به Evidence متصل کند.

مشارکت افراد دارای معلولیت مکمل Conformance است

راهنمای WAI برای مشارکت کاربران در ارزیابی توصیه می‌کند ارزیابی با کاربران را با ارزیابی Conformance ترکیب کنیم. یک فرد نمایندهٔ همهٔ افراد با همان معلولیت نیست و مطالعهٔ چندنفره به‌تنهایی انطباق WCAG یا دسترس‌پذیری برای همه را تعیین نمی‌کند. در مقابل، Conformance review نیز می‌تواند مشکلات کاربردپذیری واقعی را نبیند.

فعالیتپرسشنمی‌تواند به‌تنهایی ثابت کند
Expert conformance reviewمعیارها در Scope برآورده‌اند؟سهولت تجربهٔ همهٔ کاربران
AT technical runContract فنی در ترکیب مشخص کار می‌کند؟تجربهٔ زیسته
User sessionفرد هدف Task را چگونه انجام می‌دهد؟Conformance همهٔ معیارها
Support feedbackدر Production چه مانعی گزارش شده؟نبود مانع گزارش‌نشده
Automated scanRules قابل خودکارسازی چه می‌گویند؟دسترس‌پذیری کل محصول

«پرسونای معلولیت» جای مشارکت کاربر را نمی‌گیرد

Persona می‌تواند تیم را به نیازها یادآور شود، اما نباید کلیشه بسازد یا به‌عنوان شاهد کاربر مصرف شود. Participant profile را بر Task، مهارت فناوری کمکی، تجربهٔ محصول، زبان، دستگاه و Context جذب کنید؛ Diagnosis پزشکی زائد جمع نکنید. نتیجهٔ هر فرد را با Scope و محدودیت گزارش کنید.

پژوهش و ضبط را از ارزیابی عملکرد کارکنان جدا کنید

رضایت آگاهانه، Scope ضبط، حق توقف، پاداش، دسترس‌پذیری خود جلسه، مترجم/همراه در صورت نیاز، حداقل‌گرایی داده، Masking، دسترسی و حذف را تعریف کنید. ویدئو یا اطلاعات معلولیت نباید برای ارزیابی شغلی یا هدف دیگری دوباره استفاده شود. نام شرکت‌کننده را برای Traceability به Finding فنی الصاق نکنید؛ Participant ID کنترل‌شده کافی است.

User Evaluation Evidence Contract
study_id / purpose / product_build
participant_segment (no unnecessary diagnosis)
AT/device/browser proficiency and setup
task / state / language / assistance
observation / quote / outcome / barrier
conformance_ref_if_reviewed_separately
consent_scope / recording / masking
access_roles / retention / deletion_date
limitations / non-generalization statement

Finding را به Barrier، Requirement و Evidence وصل کنید

فیلدکاربرد
finding_id/buildهویت و نسخه
scope/page/state/componentمحل قابل بازتولید
barrier/user impactاثر عملی، نه فقط کد
requirement/rule refTest Basis و دامنهٔ ادعا
setup/procedureBrowser/AT/viewport/data
actual/expectedOracle روشن
evidenceDOM، trace، media masked
severity/confidenceاولویت و عدم قطعیت
owner/due/retestچرخهٔ اصلاح
duplicate/root causeرفع سیستماتیک

Severity را از Level معیار استخراج نکنید

سطح A/AA/AAA یک Severity ranking محصول نیست. یک مانع معیار A می‌تواند یک کار فرعی را محدود کند و مانع دیگری با پیامد عملیاتی شدید در Context خاص رخ دهد. اولویت اصلاح باید Blockage، Complete process، فراگیری، تکرار، Workaround، استقلال، Safety/Privacy/Financial consequence، تغییر و اطمینان Evidence را ببیند؛ بدون اینکه شکست معیار را به‌دلیل Workaround نادیده بگیرد.

کلاس عملیاتیتعریف نمونهGate
P0 BlockerOutcome بحرانی برای Segment هدف ناممکن/خطرناکHOLD
P1 Majorاستقلال شدیداً محدود یا Workaround نامطمئنرفع پیش انتشار یا پذیرش صریح محدود
P2 Moderateتلاش/ابهام قابل توجه با راه جایگزینSLA نزدیک + retest
P3 Minorاصطکاک محدود بدون انسدادBacklog با مالک
Conformance failureنقض معیار در Scopeجدا از Priority گزارش شود

Root Cause را در چهار محل دنبال کنید

  • Token/primitive: رنگ، spacing، focus ring یا semantic primitive؛
  • Component: Dialog، Combobox، Grid یا Error Summary؛
  • Composition/content: label، heading، DOM order یا استفادهٔ غلط Component؛
  • Process/governance: Acceptance criteria، آموزش، CMS، Procurement یا نبود مالک.

رفع یک Selector بدون اصلاح Component و Regression test، همان مانع را در ده صفحه باقی می‌گذارد. در مقابل، تغییر Component shared باید مصرف‌کنندگان، overrideها و migration را نیز retest کند.

Remediation Contract و Definition of Done

Accessibility Remediation Contract
finding_id / owner / target_release
root_cause_layer / affected_instances
design_decision / code_or_content_change
component_migration / backwards_compatibility
automated_regression_rule / manual_retest_cases
AT_user_agent_retest_matrix
user_retest_if_needed
evidence_before / evidence_after
known_limit / exception_ref / monitoring
reviewers / closure_date

Done یعنی فقط Merge نیست: Expected result در Build هدف، در State و ترکیب لازم بازآزمایی شده؛ Regression مناسب اضافه شده؛ instanceهای مشترک بررسی شده؛ Documentation/Story/Content guidance به‌روز است؛ و Evidence به Finding وصل شده است.

Exception و Waiver را زمان‌دار و قابل افشا کنید

فیلد استثناپرسش
scope/findingدقیقاً چه مانعی؟
reasonچرا اکنون رفع نشده؟
user impactچه کسی و چه Outcomeی؟
temporary alternativeمسیر کمک واقعاً قابل دسترس است؟
owner/approverچه کسی پاسخ‌گو و پذیرندهٔ ریسک است؟
expiryچه زمانی خودکار بازبینی/منقضی می‌شود؟
fix milestoneبرنامه و dependency چیست؟
statement disclosureکاربر محدودیت را کجا می‌بیند؟
monitoringگزارش و آسیب چگونه پیگیری می‌شود؟

استثنا محصول را مطابق نمی‌کند و Third party به‌خودی‌خود مسئولیت تجربه را حذف نمی‌کند. شرایط Statement of Partial Conformance یا قانون مربوط باید توسط متخصص حوزه و بر اساس واقعیت Scope بررسی شود.

Procurement و Third-party را پیش از خرید Gate کنید

  • نسخهٔ محصول و Scope ادعای فروشنده را بگیرید، نه فقط لوگو یا PDF قدیمی.
  • Conformance report را با Task واقعی و نمونهٔ integration راستی‌آزمایی کنید.
  • Known issue، roadmap، SLA، notification تغییر و حق retest را قرارداد کنید.
  • Theme/embedding/SSO/configuration واقعی را در محیط خود بسنجید.
  • خروج، جایگزین و مسیر Support قابل دسترس داشته باشید.
  • تاریخ Evidence و تطابق آن با Build خریداری‌شده را ثبت کنید.

Conformance Claim، Evaluation Report و Accessibility Statement یکی نیستند

Artifactمخاطب/هدفباید شفاف کند
Evaluation reportتیم/ممیزScope، روش، نمونه، نتایج، محدودیت
Conformance claimادعای رسمی اختیاریتاریخ، WCAG نسخه/URI، سطح، صفحات، فناوری‌های متکی
Accessibility statementکاربرتعهد، استاندارد، محدودیت، محیط آزموده، تماس
Release memoتصمیم‌گیرEvidence، gaps، exceptions، owner، decision
VPAT/ACR یا فرم قراردادیخریدار/تدارکاتنسخه، محصول، معیار و توضیح پشتیبانی

WCAG ۲.۲ می‌گوید Claim اختیاری است، اما اگر ساخته شود اجزای الزامی دارد. Claim برای صفحه‌های کامل و فرایندهای کامل باید شرایط مربوط را برآورده کند. «No automated violations» یا «Tested with screen reader» Claim انطباق نیست.

Accessibility Statement را برای کاربر بنویسید

راهنمای Accessibility Statement در WAI پیشنهاد می‌کند تعهد، استاندارد و کانال تماس دست‌کم روشن باشند و محدودیت‌های شناخته‌شده، محیط‌های آزموده و اقدامات نیز درج شوند. Statement ارزیابی فنی یا Declaration of Conformity نیست؛ باید با زبان قابل فهم بگوید کاربر در صورت مانع چه کند.

Accessibility Statement Content
product/site/app name + version/date
commitment and standard/policy applied
scope covered and important exclusions
known limitations in plain user language
tested browsers/AT/environments with dates
measures and review cadence
accessible contact/feedback channels
expected response time and escalation
alternative access/help where available
last reviewed / next review / statement owner
link to evaluation background when appropriate

کانال بازخورد خود باید دسترس‌پذیر باشد

فرم گزارش مانع اگر Captcha غیرقابل عبور، تلفن اجباری، PDF نامناسب یا زمان پاسخ نامعلوم داشته باشد، برنامه را می‌شکند. چند کانال سازگار، اطلاعات کمینه، شماره پیگیری، SLA، مالک Triage، مسیر جایگزین برای Outcome فوری، Escalation و Closure confirmation تعریف کنید.

فیلد Intake کمینهاختیاری/حساس
صفحه/وظیفه و مانعنوع معلولیت لازم نیست
زمان تقریبی و نسخه/دستگاه در حد نیازضبط صفحه فقط با رضایت
راه تماس ترجیحینام واقعی اگر لازم نیست نگیرید
فوریت Outcomeاطلاعات سلامت/شناسه زائد ممنوع
اجازهٔ پیگیریلاگ/DOM با Secret پاک‌سازی شود

Release Gate را بر Evidence completeness بنا کنید

Gateشرط نمونهشاهد
Policyاستاندارد/نسخه/سطح/Scope مصوبPolicy ID
Inventory/Sampleفرایند، Template، State، زبان و role نمایندهSample rationale
AutomationRule set نسخه‌دار؛ Regression تازه حل‌شدهCI artifact
Manual/ATمسیرهای بحرانی با Matrix هدف اجرا شدهRun manifests
Complete processهیچ گام یا State بحرانی جا نیفتادهProcess evidence map
FindingsBlocker باز نیست؛ بقیه مالک/SLA دارندRegister
Exceptionsمعتبر، زمان‌دار، افشاشده و قابل کمکWaiver records
User evidenceدر Scope لازم، مکمل Conformance و محدودشدهStudy report
Feedback/Opsکانال، مالک، SLA و alternative آمادهDry run
Claim/Statementبا Evidence و محدودیت هم‌خوان استReview/sign-off

آزمایش بازتولیدپذیر: Scanner PASS، Program HOLD

برای نشان‌دادن تفاوت، Fixture کاملاً ساختگی SYN-A11Y-PROGRAM-01 ساخته شد. اسکن PR برای شش Component، ۸۰ Rule execution عمداً تعریف‌شده و صفر violation ثبت می‌کند. Program Gate مستقل، دو Complete Process، چهار State، تازگی Evidence، استثنا و کانال بازخورد را می‌سنجد.

$ node .post-1823-experiment.js
runtime: Node.js v24.18.0
fixture: SYN-A11Y-PROGRAM-01
build: SYN-A11Y-2026.08.13-rc1

prScanner.components = 6
prScanner.automatedChecks = 80
prScanner.violations = 0
prScanner.decision = PASS

program findings:
  missing-process-step: purchase / receipt
  missing-required-state: timeout
  stale-at-evidence: age=59 days; other build
  expired-exception: SYN-WAIVER-7 / third-party-chat
  feedback-channel-without-owner-or-sla
programGate.decision = HOLD

اعداد ۶ و ۸۰ پوشش معیارهای WCAG یا کیفیت ابزار را نشان نمی‌دهند؛ فقط ورودی‌های ساخته‌شدهٔ Fixture هستند. HOLD نیز Claim انطباق واقعی نیست؛ نتیجهٔ پنج شرط قراردادی همین مدل است. آزمایش نشان می‌دهد حتی با صفر خروجی ابزار، Evidence program می‌تواند ناقص باشد.

حدود اعتبار آزمایش مصنوعی

  • هیچ صفحه، DOM، معیار WCAG، ACT Rule یا ابزار واقعی اجرا نشده است.
  • هیچ مرورگر، Screen Reader، کاربر، معلولیت، Device، PDF یا App بررسی نشده است.
  • Rule count، سن شواهد، SLA و Expiry آستانهٔ صنعت یا پیشنهاد عمومی نیستند.
  • صفر violation به‌معنای دسترس‌پذیری یا Conformance Fixture هم نیست.
  • PASS/HOLD الگوریتم عمومی Release، ممیزی حقوقی یا گواهی نیست.
  • تمام نام‌ها، Buildها، Processها، Stateها و Exceptionها ساختگی‌اند.

آزمایشگاه فارسی کاملاً ساختگی

در محیط محلی بدون اینترنت، محصول خیالی SYN-PORTAL با Build ثابت، دادهٔ SYN-* و دو زبان fa/en بسازید. مسیر ثبت درخواست از Form تا Receipt، بازیابی حساب، PDF ساختگی و Email محلی را Seed کنید. هیچ نام، تماس، معلولیت، پرونده، حساب، پرداخت، رمز، Token، ضبط یا سرویس واقعی وارد نشود.

Lab laneFault ساختگیEvidence
CIRule registry version changeartifact diff
Complete processReceipt خارج Sampleprocess map gap
RTLmixed-language accessible nameDOM/AT trace
KeyboardFocus پس از Error گم می‌شودfocus log
ZoomTimeout state در ۲۰۰% پوشاندهstate screenshot masked
ExceptionChat waiver منقضیregistry alert
Feedbackفرم گزارش بی‌مالکticket dry run
StatementBuild قدیمی و limitation حذف‌شدهstatement/release diff

این Lab برای تمرین Traceability است، نه شبیه‌سازی کاربر دارای معلولیت، ادعای WCAG، اثبات پشتیبانی فارسی یا نظر حقوقی در ایران.

Monitoring پس از انتشار: تغییر، Drift و Feedback

  • اسکن دوره‌ای با Rule set ثابت و ثبت تغییر نسخه؛
  • بازآزمایی Template/Component بعد از Dependency یا Design token change؛
  • نمونه‌گیری محتوای تازهٔ CMS، ترجمه، PDF و Media؛
  • پایش Waiver expiry و Milestone اصلاح؛
  • Triage بازخورد کاربر بر اساس Outcome و فوریت، نه تشخیص پزشکی؛
  • بازبینی Accessibility Statement با Build و Known limits؛
  • ارزیابی عمیق دوره‌ای و پس از بازطراحی/تغییر مسیر بحرانی؛
  • گزارش Trend بر barrier class، age، recurrence و closure—not score alone.

Metricها را برای تصمیم، نه Vanity Dashboard بسازید

Metricکاربرددام
Critical process evidence coverageGap مسیر/Stateتبدیل به Conformance درصدی
New regression by barrier classکیفیت تغییرCount بدون پیامد
Median age by priorityتوان اصلاحپنهان‌شدن موارد قدیمی با میانگین
Recurrence/root-cause escapeاثر Design system/processمقصرسازی فرد
Waiver age/expiryکنترل ریسک پذیرفتهWaiver دائمی
Feedback response/closureعملیات کاربرمحوربستن Ticket بدون رفع Outcome
Evidence freshnessهم‌خوانی با Releaseروز ثابت بدون سنجش Change
Training-to-practice evidenceاثر قابلیت تیمشمار شرکت‌کنندهٔ دوره

Evidence Freshness را با Change Risk ترکیب کنید

شواهد قدیمی فقط به‌دلیل سن نامعتبر نمی‌شوند و شواهد دیروز فقط به‌دلیل تازگی معتبر نیستند. Build، Component version، rule set، content، dependency، browser/AT و مسیر باید مقایسه شوند. Policy می‌تواند حداکثر سن تعریف کند، اما تغییر پرریسک بازآزمایی زودتر می‌خواهد و بخش بدون تغییر شاید با Trace معتبر دوباره استفاده شود.

Accessibility Release Memo قابل کپی

Release / build / date / decision owner
Policy ID / target standard-version-level / applicability ref
Scope: products-hosts-languages-roles-processes-states-surfaces
Inventory and sampling method / population / gaps
Technologies relied upon / accessibility-support evidence
Automation engine-rule-set + manual/AT/user evidence
Complete-process evidence map
Open findings by barrier impact and conformance outcome
Exceptions: owner-expiry-alternative-disclosure
Third-party and content limitations
Feedback channel dry run / operations readiness
Claim and statement consistency review
Decision: PASS | CONDITIONAL | HOLD
Risk acceptance / remediation / retest / monitoring / expiry

نقش‌ها و حق تصمیم

نقشمسئولیتحق تصمیم
Accessibility leadPolicy، روش، competency و interpretationکفایت ارزیابی
Product/process ownerOutcome، Scope و priorityرفع/زمان‌بندی با محدودیت Gate
Design systemprimitive/component contractsنسخه و migration
Engineering/QAimplementation، automation، evidence، retestکفایت فنی
Content/mediaauthoring و published artifactsانتشار محتوا
Research/communityمشارکت کاربران و اخلاق مطالعهاعتبار پژوهش
Privacy/security/legal/procurementکنترل تخصصی و applicabilityGate حوزهٔ خود
Support/operationsfeedback، alternative و SLAآمادگی پاسخ
Release ownerجمع Evidence و GapPASS/Conditional/HOLD

برنامهٔ Pilot سی‌روزه

بازهکارخروجی
روز ۱–۴Policy، استاندارد/نسخه، Scope و مالکPolicy v1
روز ۵–۸Inventory و Complete process mapAsset/Process registry
روز ۹–۱۲Sample و Test MatrixEvaluation plan
روز ۱۳–۱۶Rule registry، CI و Component baselineMachine artifacts
روز ۱۷–۲۰Manual/AT protocol و RC runRun manifests
روز ۲۱–۲۳مشارکت کاربر در Scope و با رضایتUser evidence
روز ۲۴–۲۶Triage، root cause و اصلاحFinding register
روز ۲۷–۲۸Retest، exception و feedback dry runClosure/waiver evidence
روز ۲۹Statement و Claim reviewUser/claim artifacts
روز ۳۰Gate، Monitoring و retrospectiveRelease Memo + next cycle

ضدالگوهای برنامه تست دسترس‌پذیری

  • سبزنامیدن محصول بر اساس امتیاز Lighthouse یا یک ابزار؛
  • تکرار درصد ثابت کشف خودکار بدون Test Basis؛
  • نامیدن inapplicable به‌عنوان Pass؛
  • تغییر Rule set بدون ثبت نسخه و Baseline؛
  • اجرای فقط صفحهٔ Home و تعمیم به کل سایت؛
  • حذف Error، timeout، auth و responsive states از نمونه؛
  • نیمه‌کاره‌گذاشتن Complete process؛
  • ادعای AA بدون Scope، تاریخ و فناوری‌های متکی؛
  • فرض اینکه AA هدف جهانی همهٔ محصولات است؛
  • تلقی ACT Rule یا Technique به‌عنوان کل معیار؛
  • استفاده از WCAG-EM ۲ Draft بدون برچسب Draft؛
  • تست Screen Reader و نامیدن آن شبیه‌سازی نابینایی؛
  • تعمیم یک AT/browser به همهٔ ترکیب‌ها؛
  • استفاده از Persona به‌جای مشارکت افراد؛
  • تعمیم نظر یک شرکت‌کننده به همهٔ معلولیت‌ها؛
  • جایگزینی مطالعه کاربر با Conformance یا برعکس؛
  • ثبت Diagnosis پزشکی غیرضروری؛
  • ضبط نامحدود جلسه و استفادهٔ ثانویه؛
  • Severity برابر با Level معیار؛
  • رفع instance و رهاکردن Component/root cause؛
  • Baseline debt بدون مالک و Milestone؛
  • Waiver دائمی یا منقضی؛
  • اعتماد به سند فروشنده برای نسخهٔ دیگری از Third party؛
  • فراموش‌کردن CMS، PDF، Email، Media و ترجمه؛
  • Accessibility Statement فنی و بدون راه تماس؛
  • کانال بازخورد غیرقابل دسترس یا بی‌مالک؛
  • Claim جدید با Evidence Build قدیمی؛
  • Dashboard بر اساس Count/Score بدون Barrier impact؛
  • انتشار بدون Coverage gap، Monitoring و Expiry؛
  • سپردن همهٔ مسئولیت به یک قهرمان A11y.

چک‌لیست ساخت برنامه تست دسترس‌پذیری

  1. Policy ID، مالک و Approver داریم.
  2. استاندارد، نسخه، سطح و وضعیت منبع ثبت است.
  3. Applicability قانونی/قراردادی ارجاع دارد.
  4. Scope شامل Product، Host، Channel و Language است.
  5. Role و Variantهای UI ثبت شده‌اند.
  6. Complete processها گراف دارند.
  7. Full page و responsive states حفظ می‌شوند.
  8. Third party و embedded origin در Inventory است.
  9. PDF، Email، Media و Mobile فراموش نشده‌اند.
  10. Template، Component و Content type فهرست شده‌اند.
  11. Error، empty، loading، timeout و success State دارند.
  12. Sample rationale و Population روشن است.
  13. Structured و random supplement در صورت روش لازم ثبت‌اند.
  14. Coverage gap آشکار است.
  15. Test Basis normative/informative تفکیک شده است.
  16. Test Case applicability و oracle دارد.
  17. ACT Rule ID/status/version ثبت است.
  18. Tool engine و Rule set hash نگه‌داری می‌شود.
  19. Pass/Fail/Inapplicable/CantTell جدا هستند.
  20. Manual remainder هر Rule معلوم است.
  21. CI لایهٔ authoring/component/PR/RC دارد.
  22. Baseline debt مالک و Milestone دارد.
  23. Manual protocol قابل تکرار است.
  24. AT run شامل OS/browser/AT/version/settings است.
  25. AT Matrix بر اساس کاربر و support است.
  26. Accessibility support برای Feature مورد اتکا شاهد دارد.
  27. Component evidence از composition evidence جداست.
  28. Content authoring و CMS کنترل دارند.
  29. فارسی/RTL/mixed language در Matrix است.
  30. مشارکت کاربر مکمل Conformance است.
  31. شرکت‌کننده نمایندهٔ همه فرض نمی‌شود.
  32. Consent، recording، access و deletion تعریف شده‌اند.
  33. Finding اثر کاربر و requirement ref دارد.
  34. Severity از Level معیار جداست.
  35. Root cause سطح Token/Component/Composition/Process دارد.
  36. Definition of Done شامل Retest و migration است.
  37. Waiver مالک، alternative، disclosure و expiry دارد.
  38. Third-party evidence با Build واقعی منطبق است.
  39. Evaluation report، Claim، Statement و Memo جدا هستند.
  40. Claim اجزای الزامی WCAG را بازبینی می‌کند.
  41. Statement به زبان کاربر و دارای Known limits است.
  42. Feedback channel قابل دسترس و دارای SLA است.
  43. Gate بر Complete process و Evidence completeness است.
  44. Evidence freshness با Change risk سنجیده می‌شود.
  45. Production monitoring جای Human evaluation نیست.
  46. Metric بر Barrier، age، recurrence و closure است.
  47. Release Memo Gap، Exception و Expiry دارد.
  48. دقیقاً پنج FAQ و Meta پیش از انتشار کنترل شده‌اند.

جمع‌بندی: دسترس‌پذیری یک Evidence loop است

برنامهٔ بالغ از ابزار یا ممیزی سالانه آغاز و تمام نمی‌شود. Policy و نسخهٔ معیار را به Scope و Complete Process وصل می‌کند، Inventory و Sample قابل دفاع می‌سازد، Automation را با Manual/AT/User evidence ترکیب می‌کند، Barrier را تا Root cause و Retest دنبال می‌کند، Exception را منقضی می‌کند و Statement/Feedback/Monitoring را برای کاربر زنده نگه می‌دارد. نتیجه نه وعدهٔ «برای همه بی‌نقص»، بلکه تصمیمی محدود، شفاف و قابل بازبینی است.

سؤالات متداول برنامه تست دسترس‌پذیری

آیا صفرشدن خطاهای ابزار یعنی محصول با WCAG منطبق است؟

خیر. ابزار فقط Rules و Stateهایی را که اجرا شده‌اند می‌سنجد؛ بخشی از معیارها به قضاوت انسانی، Context و فرایند کامل نیاز دارند. نتیجه باید Tool/Rule version، Applicability، Inapplicable/CantTell، Scope و Manual remainder را نشان دهد. Claim انطباق شرایط جداگانهٔ WCAG را می‌خواهد.

تفاوت WCAG ۲.۲، WCAG-EM و ACT Rules چیست؟

WCAG ۲.۲ معیارها و شرایط Conformance وب را تعریف می‌کند. WCAG-EM ۱.۰ یک روش ساختاریافتهٔ informative برای ارزیابی Conformance وب‌سایت است و الزام تازه‌ای اضافه نمی‌کند. ACT Rules قواعد informative و فناوری‌محور برای شفاف‌تر و هماهنگ‌ترشدن آزمون برخی جنبه‌ها هستند؛ هیچ‌کدام را نباید بدون Scope و Status جای دیگری نشاند.

آیا تست با کاربران دارای معلولیت جای ممیزی WCAG را می‌گیرد؟

خیر. مشارکت کاربران موانع و تجربهٔ واقعی در Task/Context مشخص را آشکار می‌کند، اما چند فرد نمی‌توانند Conformance همهٔ معیارها یا تجربهٔ همهٔ افراد را ثابت کنند. Expert conformance review نیز جای رفتار کاربر را نمی‌گیرد. برنامهٔ معتبر این دو را مکمل می‌داند و محدودیت نمونه را گزارش می‌کند.

برای هر Release چه تست دسترس‌پذیری لازم است؟

یک عدد ثابت وجود ندارد. Change impact، Complete process، Component، State، زبان، Third party و Policy تعیین می‌کنند چه لایه‌ای لازم است. معمولاً lint/component/PR automation، تست دستی تغییرات و مسیرهای بحرانی، AT Matrix ریسک‌محور و بازبینی دوره‌ای عمیق ترکیب می‌شوند؛ Gapها باید در Release Memo ثبت شوند.

چه زمانی Release Gate باید HOLD بدهد؟

وقتی فرایند یا State بحرانی بدون شاهد مانده؛ Barrier مسدودکننده یا خطرناک باز است؛ Evidence با Build/Rule/AT هدف هم‌خوان نیست؛ استثنا منقضی یا بی‌مالک است؛ مسیر کمک قابل دسترس نیست؛ یا Claim/Statement بیش از شواهد وعده می‌دهد. HOLD به Scope و Policy وابسته است و باید دلیل، مالک، اقدام و Retest داشته باشد.

دیدگاهتان را بنویسید