diff --git a/packages/radio/src/radio-button.vue b/packages/radio/src/radio-button.vue index a834e0ad..0f995f15 100644 --- a/packages/radio/src/radio-button.vue +++ b/packages/radio/src/radio-button.vue @@ -6,6 +6,11 @@ { 'is-active': value === label }, { 'is-disabled': isDisabled } ]" + role="radio" + :aria-checked="value === label" + :aria-disabled="isDisabled" + :tabindex="tabIndex" + @keydown.space.stop.prevent="value = label" > + :disabled="isDisabled" + tabindex="-1" + > @@ -62,6 +69,9 @@ }, isDisabled() { return this.disabled || this._radioGroup.disabled; + }, + tabIndex() { + return !this.isDisabled ? (this._radioGroup ? (this.value === this.label ? 0 : -1) : 0) : -1; } } }; diff --git a/packages/radio/src/radio-group.vue b/packages/radio/src/radio-group.vue index 72486a8d..731a0435 100644 --- a/packages/radio/src/radio-group.vue +++ b/packages/radio/src/radio-group.vue @@ -1,11 +1,21 @@