FreeToGenerate.com

واحد وثمانون عنصرًا من 139 تحمل دورًا أصلًا، وإعادة كتابته غير موصى بها.

أتحتاج أصلًا إلى كتابة هذا الـrole؟

لا حاجة إليه، فالعنصر يحمل هذا الدور أصلًا

وهذا ترميز صحيح لا خطأ. غير أن المواصفة تعدّ إسناد الدور الضمني للعنصر أمرًا غير موصى به، لأنه لا يضيف شيئًا وقد يتخلّف عن العنصر إن تغيّر الترميز لاحقًا.

الدور الضمني
button
يقبل
مجموعة محدّدة فقط

تقول المواصفة: Roles: checkbox , combobox , gridcell , link , menuitem , menuitemcheckbox , menuitemradio , option , radio , separator , slider , switch , tab , or treeitem . ( button is also allowed, but NOT RECOMMENDED .) Global aria-* attributes and any aria-* attributes applicable to the allowed roles. If the button is the first child of a select element: No role or aria-* attributes

أي العناصر يمنحك هذا الدور

تحمله أصلًا بلا أي سمة

button, input type=button, input type=image, input type=reset, input type=submit

تقبله إن طلبته

a with href, area without href, img, input type=image, input type=reset, input type=submit

ما يقوله الجدول في مجموعه

عنصر HTML مشمول
139
تحمل دورًا أصلًا
81
لا تقبل دورًا آخر
51
قاعدتها مشروطة
10

أنفع الأجوبة عادةً أنك لا تحتاج إلى دور البتة. فواحد وثمانون من العناصر المئة والتسعة والثلاثين تحمل دورًا أصلًا، وترويسة الجدول نفسها تقول إن كتابته في الترميز غير موصى بها: فعنصر button زرٌّ بالفعل، وh1 عنوانٌ بالفعل.

وعشرة عناصر قواعدها متعلقة بمحيطها، وهذه الصفحة تأبى أن تحكم فيها بدل أن تخمّن. فـtd وth وtr تتوقف على دور الجدول الحاوي لها، وdiv على كونه ابنًا مباشرًا لـdl، وfigure على وجود figcaption فيه.

كل عناصر الجدول

المعروض 139 / 139

العنصرالدور الضمنييقبل
a with hreflinkbutton, checkbox, menuitem, menuitemcheckbox, menuitemradio, option, radio, switch, tab, treeitem
a without hrefgenericأي دور
abbrلا شيءأي دور
addressgroupأي دور
area with hreflinkلا دور سوى دوره
area without hrefgenericbutton, link
articlearticleapplication, document, feed, main, none, presentation, region
asidecomplementaryfeed, none, note, presentation, region, search
audioلا شيءapplication
autonomous custom elementلا شيءمشروط
bgenericأي دور
baseلا شيءلا دور سوى دوره
bdigenericأي دور
bdogenericأي دور
blockquoteblockquoteأي دور
bodygenericلا دور سوى دوره
brلا شيءnone, presentation
buttonbuttoncheckbox, combobox, gridcell, link, menuitem, menuitemcheckbox, menuitemradio, option, radio, separator, slider, switch, tab, treeitem
canvasلا شيءأي دور
captioncaptionلا دور سوى دوره
citeلا شيءأي دور
codecodeأي دور
colلا شيءلا دور سوى دوره
colgroupلا شيءلا دور سوى دوره
datagenericأي دور
datalistlistboxلا دور سوى دوره
ddلا شيءلا دور سوى دوره
deldeletionأي دور
detailsgroupلا دور سوى دوره
dfntermأي دور
dialogdialogalertdialog
divgenericمشروط
dlلا شيءgroup, list, none, presentation
dtلا شيءlistitem
ememphasisأي دور
embedلا شيءapplication, document, img, image, none, presentation
fieldsetgroupnone, presentation, radiogroup
figcaptionلا شيءgroup, none
figurefigureمشروط
footerلا شيءgroup, presentation, none
formformnone, presentation, search
form-associated custom elementلا شيءمشروط
h1 to h6headingnone, presentation, tab
headلا شيءلا دور سوى دوره
headerلا شيءgroup, none, presentation
hgroupgroupأي دور
hrseparatornone, presentation
htmlgenericلا دور سوى دوره
igenericأي دور
iframeلا شيءapplication, document, img, image, none, presentation
imgلا شيءbutton, checkbox, link, math, menuitem, menuitemcheckbox, menuitemradio, meter, option, progressbar, radio, scrollbar, separator, slider, switch, tab, treeitem
img with no accessible nameلا شيءمشروط
input type=buttonbuttoncheckbox, combobox, gridcell, link, menuitem, menuitemcheckbox, menuitemradio, option, radio, separator, slider, switch, tab, treeitem
input type=checkboxcheckboxmenuitemcheckbox, option, switch
input type=colorلا شيءلا دور سوى دوره
input type=dateلا شيءلا دور سوى دوره
input type=datetime-localلا شيءلا دور سوى دوره
input type=email with no list attributetextboxلا دور سوى دوره
input type=fileلا شيءلا دور سوى دوره
input type=hiddenلا شيءلا دور سوى دوره
input type=imagebuttonbutton, checkbox, gridcell, link, menuitem, menuitemcheckbox, menuitemradio, option, radio, separator, slider, switch, tab, treeitem
input type=monthلا شيءلا دور سوى دوره
input type=numberspinbuttonلا دور سوى دوره
input type=passwordلا شيءلا دور سوى دوره
input type=radioradiomenuitemradio
input type=rangesliderلا دور سوى دوره
input type=resetbuttonbutton, checkbox, combobox, gridcell, link, menuitem, menuitemcheckbox, menuitemradio, option, radio, separator, slider, switch, tab, treeitem
input type=search , with no list attributesearchboxلا دور سوى دوره
input type=submitbuttonbutton, checkbox, combobox, gridcell, link, menuitem, menuitemcheckbox, menuitemradio, option, radio, separator, slider, switch, tab, treeitem
input type=tel , with no list attributetextboxلا دور سوى دوره
input type=text or with a missing or invalid type , with no list attributetextboxcombobox, searchbox, spinbutton
input type=text , search , tel , url , email , or with a missing or invalid type , with a list attributecomboboxلا دور سوى دوره
input type=timeلا شيءلا دور سوى دوره
input type=url with no list attributetextboxلا دور سوى دوره
input type=weekلا شيءلا دور سوى دوره
insinsertionأي دور
kbdلا شيءأي دور
labelلا شيءمشروط
legendلا شيءلا دور سوى دوره
liلا شيءلا دور سوى دوره
linkلا شيءلا دور سوى دوره
mainmainلا دور سوى دوره
mapلا شيءلا دور سوى دوره
markلا شيءأي دور
mathmathلا دور سوى دوره
menulistgroup, listbox, menu, menubar, none, presentation, radiogroup, tablist, toolbar, tree
metaلا شيءلا دور سوى دوره
metermeterلا دور سوى دوره
navnavigationmenu, menubar, none, presentation, tablist
noscriptلا شيءلا دور سوى دوره
objectلا شيءapplication, document, img, image
ollistgroup, listbox, menu, menubar, none, presentation, radiogroup, tablist, toolbar, tree
optgroupgroupلا دور سوى دوره
option element that is in a list of options or that represents a suggestion in a datalistoptionلا دور سوى دوره
outputstatusأي دور
pparagraphأي دور
paramلا شيءلا دور سوى دوره
pictureلا شيءلا دور سوى دوره
pregenericأي دور
progressprogressbarلا دور سوى دوره
qgenericأي دور
rpلا شيءأي دور
rtلا شيءأي دور
rubyلا شيءأي دور
sdeletionأي دور
sampgenericأي دور
scriptلا شيءلا دور سوى دوره
searchsearchform, group, none, presentation, region
sectionregionalert, alertdialog, application, banner, complementary, contentinfo, dialog, document, feed, group, log, main, marquee, navigation, none, note, presentation, search, status, tabpanel
select (with NO multiple attribute and NO size attribute having value greater than 1 )comboboxmenu
select (with a multiple attribute or a size attribute having value greater than 1 )listboxلا دور سوى دوره
selectedcontentgenericمشروط
slotلا شيءلا دور سوى دوره
smallgenericأي دور
sourceلا شيءلا دور سوى دوره
spangenericأي دور
strongstrongأي دور
styleلا شيءلا دور سوى دوره
subsubscriptأي دور
summaryلا شيءلا دور سوى دوره
supsuperscriptأي دور
SVGgraphics-documentأي دور
tabletableأي دور
tbodyrowgroupأي دور
tdلا شيءمشروط
templateلا شيءلا دور سوى دوره
textareatextboxلا دور سوى دوره
tfootrowgroupأي دور
thلا شيءمشروط
theadrowgroupأي دور
timetimeأي دور
titleلا شيءلا دور سوى دوره
trrowمشروط
trackلا شيءلا دور سوى دوره
ugenericأي دور
ullistgroup, listbox, menu, menubar, none, presentation, radiogroup, tablist, toolbar, tree
varلا شيءأي دور
videoلا شيءapplication
wbrلا شيءnone, presentation

كل ما هنا مأخوذ من جدول استعمال سمات ARIA حسب عنصر HTML في مواصفة ARIA in HTML، ويحمل كل صف نصّ المواصفة نفسه. ولا يُرفع شيء. أُخذت اللقطة في 2026-08-03

متوفر أيضًا بلغات أخرى: English · Español · Português · Français

أدوار ARIA: أي عنصر يحتاج دورًا وأيّها يحمله أصلًا

ابحث عن أي عنصر HTML وأي دور ARIA لتعرف: أينبغي لك كتابته، أم يجوز لك، أم أن العنصر هو ذلك الشيء أصلًا.

ما دور ARIA؟

دور ARIA يخبر التقنيات المساعدة بما يكونه جزء من الترميز: زرًّا أو منطقة تنقّل أو عنوانًا أو مربّع حوار. وتكتبه هكذا role="button"، فيغيّر طريقة إعلان قارئ الشاشة عنه وما يستطيع المستخدم فعله به.

تعرّف WAI-ARIA الأدوار نفسها. وتجيب مواصفة ثانية هي ARIA in HTML عن السؤال الذي يأتي به الناس فعلًا — أي الأدوار يجوز وضعها على أي عنصر HTML — وتفعل ذلك في جدول يغطي 139 عنصرًا. وهذا الجدول هو أساس هذه الصفحة، وهو الجدير بالقراءة، لأن الأدوار ليست متبادلة بين العناصر.

وأنفع ما فيه يكاد يمرّ دون انتباه: فواحد وثمانون من تلك العناصر تحمل دورًا أصلًا بلا أي سمة، وترويسة الجدول نفسها تقول إن إسنادها في الترميز غير موصى به. فعنصر button زرٌّ بالفعل، وh1 عنوانٌ بالفعل بمستواه. وفي أغلب الأحيان يكون الجواب الصحيح عن «أي دور أضع هنا» هو: لا دور.

طريقة الاستخدام

  1. اكتب العنصر. اسم الوسم وحده، ولا تضرّ أقواس الزاوية ولا الحروف الكبيرة. وحيث تقيّد المواصفة عنصرًا يقودك الاسم المجرّد إلى الصف المقيَّد: فكتابة a تعطيك قاعدة a with href.
  2. اكتب الدور الذي كنت ستضعه. تحصل على واحد من أربعة أجوبة: العنصر يحمله أصلًا، أو هو مسموح، أو غير مسموح هنا، أو القاعدة مشروطة فلا جواب قاطع.
  3. ثم انظر الفهرس العكسي أسفله. يعدّد العناصر التي تحمل ذلك الدور أصلًا بلا سمة، منفصلةً عمّا يقبله منها إن طلبته. وهذا في الغالب أفضل سبيل لحلّ المسألة.

الزائد ليس هو الخطأ

كتابة role="button" على عنصر button ترميزٌ صحيح. ليست خطأً ولا تكسر شيئًا. وإنما تعدّها المواصفة غير موصى بها لأنها لا تضيف شيئًا ولأنها قد تتخلّف: فإن غيّرت العنصر لاحقًا بقي الدور يصف شيئًا لم يعد موجودًا. وتذكر هذه الصفحة تلك الحالة حكمًا مستقلًّا بدل خلطها بالأخطاء الحقيقية، لأن إخبار أحدهم بأن ترميزه السليم معطوب أسوأ من السكوت.

أما الحالات الممنوعة حقًّا فشأن آخر. فواحد وخمسون عنصرًا لا تقبل دورًا سوى الذي تحمله — main وbody وhtml وbase وcaption وأمثالها — فـrole="navigation" على main غير مسموح ببساطة. وسبعة وثلاثون آخر لا تقبل إلا مجموعة محدّدة: فـa with href يقبل button وcheckbox وmenuitem وmenuitemcheckbox وmenuitemradio وoption وradio وswitch وtab أو tree، لا غير. وواحد وأربعون عنصرًا، وهي الصفحات البيضاء مثل span وabbr، تقبل أي دور كان.

ويبقى الأدوار نفسها، وقد سمّى الجدول منها خمسة وسبعين. فإن احتجت إلى واحد فالفهرس العكسي هو الطريق المختصر: اسأل أي العناصر زرٌّ أصلًا قبل أن تقرّر صنع زرّ من div.

عشرة عناصر لا تحكم فيها هذه الصفحة

عشر من القواعد الـ139 مكتوبة بشرط، والأداة تأبى أن تحكم فيها بدل أن تخمّن. فـtd وth وtr تتوقف على دور عنصر table الحاوي لها. وdiv يتوقف على كونه ابنًا مباشرًا لـdl. وfigure يتوقف على وجود figcaption في ذريّته. وlabel يتوقف على ارتباطه بعنصر قابل للتسمية.

وفي كل تلك الحالات تمتنع المواصفة عن إعطاء قاعدة مطلقة، فالأداة التي تخرج بنعم أو لا واثقة إنما تخترع قاعدة. ويُعرض نصّ المواصفة نفسه بدلًا من ذلك ليُقرأ في ضوء ترميزك الحقيقي. وهذا هو الجواب الأمين، ولهذا تعرض الصفحة النصّ الأصلي لكل عنصر لا خلاصتها هي فحسب.

وحدّان آخران يستحقان الذكر: هذا جدول العناصر وحده، ولمواصفة ARIA in HTML جدولان آخران، أحدهما عن خصائص HTML والآخر عن الذريّات التي يسمح بها كل دور، وليس واحد منهما مشمولًا هنا. ثم إن الصفحة تخبرك بما هو مسموح لا بما هو صواب: فالدور المسموح قد يظلّ الدور الخطأ، ولا جدول يعرف هل يسلك مكوّنك فعلًا سلوك تبويب.

لماذا هي مجانية؟

الجدول يسافر مع الصفحة في بضعة كيلوبايتات، وكل بحث يجري في متصفحك أنت. فلا يُرفع شيء مما تكتبه، ولا يُسجَّل شيء، ولا حساب عليك إنشاؤه.

بلا تسجيل، وبلا حدود، وبلا علامة مائية على أي شيء تنسخه.