تقييم

Rating

تقييم بالنجوم متاح الوصول في React يعمل كحقل إدخال أو عرض للقراءة فقط، بدقّة نصف نجمة وأحجام ودرجة العلامة ودعم كامل للوحة المفاتيح.

يجمع Rating تقييمًا بالنجوم أو يعرضه. استخدم readOnly للعرض فقط وallowHalf لأنصاف النجوم وtone="brand" للأخضر السعودي.

متى تستخدمه

استخدم Rating لجمع رضا المستفيد بعد تقديم الخدمة، أو لعرض متوسّط الدرجات. فعّل readOnly للعرض وallowHalf حين تحتاج المتوسّطات دقّة أكبر. أبقِ المقياس على خمس نجوم؛ فالمستخدمون يعرفونه.

لسؤال بخيارات مسمّاة، مثل «ما مدى سهولة الخدمة؟»، يعطي RadioGroup إجابات أوضح.

أمثلة

قيّم خدمة

دقّة نصف نجمة

متوسّط للقراءة فقط

الأحجام

الخصائص

الخصائص التي يعرّفها Rating. سمات العنصر الأصلي تمرّ كما هي.

الخاصيةالنوعالافتراضيالوصف
size"sm" | "md" | "lg"
valuenumberControlled value (0…max). .5 increments are allowed when allowHalf.
defaultValuenumberUncontrolled initial value. Defaults to 0.
onValueChange(value: number) => voidFires with the chosen rating.
maxnumberNumber of stars. Defaults to 5.
allowHalfbooleanAllow half-star (.5) precision.
readOnlybooleanDisplay only - no interaction, exposed as role="img".
disabledbooleanNon-interactive and dimmed.
labelreact.ReactNodeVisible field label.
helperTextreact.ReactNodeHint shown below the field. Hidden while an error message is showing.
errorMessagereact.ReactNodeMessage shown below the field when error is true.
errorbooleanMarks the field invalid: sets aria-invalid and error styling.
tone"default" | "brand"SDGA Style axis. default (gold) · brand (SA green). Recolor per instance via the --ddga-rating-color CSS variable.
iconreact.ReactNodeSymbol rendered instead of the default star (e.g. a heart). Used for both the empty and filled layers - fill/empty colors come from CSS, so pass an icon that uses currentColor. Defaults to the SDGA star.
formatValueText(value: number, max: number) => stringBuilds the accessible value text / read-only label. Defaults to "{value} out of {max} stars". Override for localization.
idstring
classNamestring
aria-labelstringDefines a string value that labels the current element.
aria-labelledbystringIdentifies the element (or elements) that labels the current element.

إمكانية الوصول

التقييم التفاعلي يحمل الدور slider: مفاتيح الأسهم تغيّر الدرجة، وHome وEnd يقفزان إلى الطرفين، وaria-valuetext يعلن القيمة مع تسميتها. التقييم للقراءة فقط يُعرض صورةً باسم متاح، فيُعلن دون أن يكون قابلًا للتركيز.

سمِّ الأداة عبر label أو aria-label، واستخدم رسالة الخطأ لشرح التقييم الناقص.