Skip to content

Commit fc1c165

Browse files
fix(FEC-14141): Player v7 | For AAD bottom bar button, screen readers doesn't give indication if its on or off when user tab navigate to it.
1 parent 22798cd commit fc1c165

File tree

3 files changed

+18
-13
lines changed

3 files changed

+18
-13
lines changed

src/components/advanced-audio-desc-toggle/advanced-audio-desc-toggle.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ const COMPONENT_NAME = 'AdvancedAudioDescToggle';
2828
@connect(mapStateToProps, bindActions(actions))
2929
@withEventDispatcher(COMPONENT_NAME)
3030
@withText({
31-
advancedAudioText: 'settings.advancedAudioDescription'
31+
advancedAudioText: 'settings.advanced_audio_description'
3232
})
3333
class AdvancedAudioDescToggle extends Component<any, any> {
3434
/**

src/components/advanced-audio-desc/advanced-audio-desc.tsx

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import style from '../../styles/style.scss';
22
import {h, Component, VNode} from 'preact';
3-
import {Text, withText} from 'preact-i18n';
3+
import {withText} from 'preact-i18n';
44
import {Icon, IconType} from '../icon';
55
import {withEventDispatcher} from '../event-dispatcher';
66
import {Tooltip} from '../tooltip';
@@ -35,14 +35,17 @@ const mapStateToProps = ({config, settings}) => ({
3535
@connect(mapStateToProps, bindActions(actions))
3636
@withPlayer
3737
@withEventDispatcher(COMPONENT_NAME)
38-
@withText({AdvancedAudioDescText: 'settings.advancedAudioDescription'})
38+
@withText({
39+
advancedAudioDescEnabledText: 'settings.advanced_audio_description_enabled',
40+
advancedAudioDescDisabledText: 'settings.advanced_audio_description_disabled'
41+
})
3942
class AdvancedAudioDesc extends Component<any, any> implements IconComponent {
4043
constructor(props: any) {
4144
super();
4245
registerToBottomBar(COMPONENT_NAME, props.player, () => this.registerComponent());
4346
}
4447

45-
registerComponent(): any {
48+
public registerComponent(): any {
4649
return {
4750
ariaLabel: () => this.getComponentText(),
4851
displayName: COMPONENT_NAME,
@@ -56,11 +59,11 @@ class AdvancedAudioDesc extends Component<any, any> implements IconComponent {
5659
};
5760
}
5861

59-
getComponentText = (): any => {
60-
return this.props.AdvancedAudioDescText;
62+
public getComponentText = (): any => {
63+
return this.props.advancedAudioDescEnabled ? this.props.advancedAudioDescEnabledText : this.props.advancedAudioDescDisabledText;
6164
};
6265

63-
getSvgIcon = (): any => {
66+
public getSvgIcon = (): any => {
6467
return {
6568
type: redux.useStore().getState().settings.advancedAudioDesc ? IconType.AdvancedAudioDescriptionActive : IconType.AdvancedAudioDescription
6669
};
@@ -70,7 +73,7 @@ class AdvancedAudioDesc extends Component<any, any> implements IconComponent {
7073
* should render component
7174
* @returns {boolean} - whether to render the component
7275
*/
73-
_shouldRender(): boolean {
76+
private _shouldRender(): boolean {
7477
return this.props.showAdvancedAudioDescToggle;
7578
}
7679
/**
@@ -79,7 +82,7 @@ class AdvancedAudioDesc extends Component<any, any> implements IconComponent {
7982
* @returns {void}
8083
* @memberof AdvancedAudioDesc
8184
*/
82-
onClick = (): void => {
85+
private onClick = (): void => {
8386
const checked = !this.props.advancedAudioDescEnabled;
8487
this.props.updateAdvancedAudioDesc(checked);
8588
this.props.notifyClick({type: 'AdvancedAudioDescription', checked});
@@ -92,11 +95,11 @@ class AdvancedAudioDesc extends Component<any, any> implements IconComponent {
9295
* @returns {React$Element} - component element
9396
* @memberof AdvancedAudioDesc
9497
*/
95-
render({AdvancedAudioDescText, innerRef}: any): VNode<any> | undefined {
98+
public render({innerRef}: any): VNode<any> | undefined {
9699
return !this._shouldRender() ? undefined : (
97100
<ButtonControl name={COMPONENT_NAME} className={[style.noIdleControl, this.props.classNames ? this.props.classNames.join(' ') : ''].join(' ')}>
98-
<Tooltip label={AdvancedAudioDescText}>
99-
<Button tabIndex="0" aria-label={AdvancedAudioDescText} className={`${style.controlButton}`} ref={innerRef} onClick={this.onClick}>
101+
<Tooltip label={this.getComponentText()}>
102+
<Button tabIndex="0" aria-label={this.getComponentText()} className={`${style.controlButton}`} ref={innerRef} onClick={this.onClick}>
100103
<Icon type={this.props.advancedAudioDescEnabled ? IconType.AdvancedAudioDescriptionActive : IconType.AdvancedAudioDescription} />
101104
</Button>
102105
</Tooltip>

translations/en.i18n.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,9 @@
5959
"qualityHdLabel": "Quality is HD",
6060
"quality4kLabel": "Quality is 4k",
6161
"quality8kLabel": "Quality is 8k",
62-
"advancedAudioDescription": "Advanced Audio Description"
62+
"advanced_audio_description": "Extended Audio Description",
63+
"advanced_audio_description_enabled": "Disable Extended Audio Description",
64+
"advanced_audio_description_disabled": "Enable Extended Audio Description"
6365
},
6466
"captions": {
6567
"captions": "Captions",

0 commit comments

Comments
 (0)