Merge pull request #370 from Safelite/bugfix/CSR-392
CSR-392: add aria-required fields where needed
This commit is contained in:
commit
d3459ff272
9 changed files with 14 additions and 4 deletions
|
|
@ -5,7 +5,7 @@
|
||||||
<span class="fs-5 fw-bold w-100" :class="this.buttonType === 'radio' ? 'text-start' : 'text-center'">{{ questionText }}</span>
|
<span class="fs-5 fw-bold w-100" :class="this.buttonType === 'radio' ? 'text-start' : 'text-center'">{{ questionText }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="w-100 d-flex justify-content-center">
|
<div class="w-100 d-flex justify-content-center">
|
||||||
<fieldset class="w-100" :class="getFieldSetClasses" :role="isMultiSelect ? 'group' : 'radiogroup'" :aria-labelledby="groupName ? groupName + '-radio-group' : ''">
|
<fieldset class="w-100" :aria-required=isRequired :class="getFieldSetClasses" :role="isMultiSelect ? 'group' : 'radiogroup'" :aria-labelledby="groupName ? groupName + '-radio-group' : ''">
|
||||||
<legend class="sr-only" :data-focus-target="groupName" tabindex="-1">
|
<legend class="sr-only" :data-focus-target="groupName" tabindex="-1">
|
||||||
{{(isMultiSelect && answers && answers.length > 1) ? 'Select one or more options below.' : 'Select an option below.' }}
|
{{(isMultiSelect && answers && answers.length > 1) ? 'Select one or more options below.' : 'Select an option below.' }}
|
||||||
</legend>
|
</legend>
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@
|
||||||
:answers="answersToDisplay"
|
:answers="answersToDisplay"
|
||||||
:groupName="groupName"
|
:groupName="groupName"
|
||||||
buttonType="listCard"
|
buttonType="listCard"
|
||||||
|
isRequired
|
||||||
v-model="selectedValues"
|
v-model="selectedValues"
|
||||||
validationRules="damage-location-required"
|
validationRules="damage-location-required"
|
||||||
/>
|
/>
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@
|
||||||
v-model="selectedValues"
|
v-model="selectedValues"
|
||||||
:validationRules="validationRules"
|
:validationRules="validationRules"
|
||||||
:suppressError="suppressError"
|
:suppressError="suppressError"
|
||||||
|
:isRequired=isRequired
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</transition>
|
</transition>
|
||||||
|
|
@ -36,6 +37,7 @@ export default ({
|
||||||
validationRules: String,
|
validationRules: String,
|
||||||
suppressError: Boolean,
|
suppressError: Boolean,
|
||||||
cmsWidgetName: String,
|
cmsWidgetName: String,
|
||||||
|
isRequired: Boolean,
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
initializeComponent(replaceOptions){
|
initializeComponent(replaceOptions){
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@
|
||||||
buttonType="listCard"
|
buttonType="listCard"
|
||||||
v-model="selectedDoorSidesValues"
|
v-model="selectedDoorSidesValues"
|
||||||
validationRules="damage-side-required"
|
validationRules="damage-side-required"
|
||||||
|
isRequired
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</transition>
|
</transition>
|
||||||
|
|
@ -22,6 +23,7 @@
|
||||||
filterByVehicleCategory
|
filterByVehicleCategory
|
||||||
v-model="selectedDriverSideReplaceOptionsValues"
|
v-model="selectedDriverSideReplaceOptionsValues"
|
||||||
validationRules="driver-side-options-required"
|
validationRules="driver-side-options-required"
|
||||||
|
isRequired
|
||||||
/>
|
/>
|
||||||
<replaceOptionsQuestion
|
<replaceOptionsQuestion
|
||||||
ref="passengerSideOptions"
|
ref="passengerSideOptions"
|
||||||
|
|
@ -32,6 +34,7 @@
|
||||||
filterByVehicleCategory
|
filterByVehicleCategory
|
||||||
v-model="selectedPassengerSideReplaceOptionsValues"
|
v-model="selectedPassengerSideReplaceOptionsValues"
|
||||||
validationRules="passenger-side-options-required"
|
validationRules="passenger-side-options-required"
|
||||||
|
isRequired
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,7 @@
|
||||||
v-model="selectedRearReplaceOptions"
|
v-model="selectedRearReplaceOptions"
|
||||||
groupName="BackGlassReplaceOptionsQuestion"
|
groupName="BackGlassReplaceOptionsQuestion"
|
||||||
validationRules="replace-options-required"
|
validationRules="replace-options-required"
|
||||||
|
isRequired
|
||||||
/>
|
/>
|
||||||
<funnel-footer
|
<funnel-footer
|
||||||
cmsWidgetName="FunnelFooterWidget"
|
cmsWidgetName="FunnelFooterWidget"
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@
|
||||||
useTextForValue
|
useTextForValue
|
||||||
v-model="selectedChipCountValues"
|
v-model="selectedChipCountValues"
|
||||||
:validationRules="validationRules"
|
:validationRules="validationRules"
|
||||||
|
isRequired
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</transition>
|
</transition>
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@
|
||||||
v-model="selectedValues"
|
v-model="selectedValues"
|
||||||
:suppressError="suppressError"
|
:suppressError="suppressError"
|
||||||
:validationRules="validationRules"
|
:validationRules="validationRules"
|
||||||
|
isRequired
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</transition>
|
</transition>
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@
|
||||||
v-model="selectedWindshieldReplaceOptionsValues"
|
v-model="selectedWindshieldReplaceOptionsValues"
|
||||||
validationRules="windshield-replace-options-required|prevent-split-and-single-together"
|
validationRules="windshield-replace-options-required|prevent-split-and-single-together"
|
||||||
:suppressError="hasSplitSingleConflict"
|
:suppressError="hasSplitSingleConflict"
|
||||||
|
isRequired
|
||||||
/>
|
/>
|
||||||
<alert
|
<alert
|
||||||
class="my-3"
|
class="my-3"
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@
|
||||||
<funnelSubHeader cmsWidgetName="FunnelSubHeaderWidget" />
|
<funnelSubHeader cmsWidgetName="FunnelSubHeaderWidget" />
|
||||||
<div class="row my-2">
|
<div class="row my-2">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<textboxQuestion cmsWidgetName="VinNumber" v-model="vin" inputId="vin" disableAutoFill validationRules="vin-required|vin-format" :isDisabled=isVinFieldReadOnly />
|
<textboxQuestion cmsWidgetName="VinNumber" v-model="vin" inputId="vin" isRequired disableAutoFill validationRules="vin-required|vin-format" :isDisabled=isVinFieldReadOnly />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row my-2">
|
<div class="row my-2">
|
||||||
|
|
@ -21,12 +21,12 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="row my-2">
|
<div class="row my-2">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<textboxQuestion cmsWidgetName="ServiceZIP" v-model="zip" inputId="zip" mask="#####" disableAutoFill validationRules="zip-required" />
|
<textboxQuestion cmsWidgetName="ServiceZIP" v-model="zip" inputId="zip" mask="#####" isRequired disableAutoFill validationRules="zip-required" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row my-2">
|
<div class="row my-2">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<textboxQuestion cmsWidgetName="EmailAddress" v-model="email" inputId="email" disableAutoFill validationRules="email-address-required|email-address-format" />
|
<textboxQuestion cmsWidgetName="EmailAddress" v-model="email" inputId="email" isRequired disableAutoFill validationRules="email-address-required|email-address-format" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<alert
|
<alert
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue