Compare commits

...

13 Commits

Author SHA1 Message Date
MokireddySampath
ccb04af4c6 Merge branch 'master' into accessibility-sev-3-defects 2023-03-28 16:20:51 +05:30
Sampath
a2b0cf236e fix for defects 2276938,2280272,2276941,2262647 2023-03-27 16:33:08 +05:30
Sampath
e2b72a3824 corrections for 2278347,2278096 and fix for 2264174 2023-03-27 15:22:43 +05:30
Sampath
f27706bc37 Accessibility sev-2 defects-2 2023-03-20 13:09:04 +05:30
Sampath
fa81442222 accessibilitydefects-data explorer 2023-03-13 18:14:20 +05:30
Sampath
25ef86a6c0 Revert "Sev2 accessibilitydefects"
This reverts commit a4e60f106c.
2023-03-13 17:11:43 +05:30
Sampath
a4e60f106c Sev2 accessibilitydefects 2023-03-13 16:54:24 +05:30
Sampath
d646686723 Revert "sev2 accessibilitydefects in data explorer"
This reverts commit b84d5b572c.
2023-03-13 14:56:51 +05:30
Sampath
b84d5b572c sev2 accessibilitydefects in data explorer 2023-03-10 23:22:42 +05:30
Sampath
c711b59f7d alt text for decorative images 2023-02-25 23:25:12 +05:30
Sampath
e945963cf9 Revert "alt text attribute for images"
This reverts commit 5a660551c6.
2023-02-25 23:11:20 +05:30
Sampath
5a660551c6 alt text attribute for images 2023-02-25 22:53:52 +05:30
Sampath
b2d59f3b3f autoscale and manual radiobuutton fixes 2023-02-06 23:48:50 +05:30
11 changed files with 344 additions and 312 deletions

View File

@@ -2576,6 +2576,10 @@ a:link {
.querydropdown.placeholderVisible {
font-style: italic;
}
.querydropdown.placeholderVisible::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
color: #403f3f;
opacity: 1;
}
.querydropdown:hover {
background-color: @AccentLow;
@@ -3087,3 +3091,4 @@ a:link {
background: white;
height: 100%;
}

View File

@@ -142,7 +142,6 @@ export const TableEntity: FunctionComponent<TableEntityProps> = ({
{...imageProps}
src={EditIcon}
alt="editEntity"
id="editEntity"
onClick={onEditEntity}
tabIndex={0}
onKeyPress={handleKeyPress}

View File

@@ -46,10 +46,13 @@ export class TabComponent extends React.Component<TabComponentProps> {
}
let className = "toggleSwitch";
let ariaselected;
if (index === this.props.currentTabIndex) {
className += " selectedToggle";
ariaselected = true;
} else {
className += " unselectedToggle";
ariaselected = false;
}
return (
@@ -57,9 +60,10 @@ export class TabComponent extends React.Component<TabComponentProps> {
<AccessibleElement
as="span"
className={className}
role="presentation"
role="tab"
onActivated={() => this.setActiveTab(index)}
aria-label={`Select tab: ${tab.title}`}
aria-selected={ariaselected}
>
{tab.title}
</AccessibleElement>
@@ -77,7 +81,11 @@ export class TabComponent extends React.Component<TabComponentProps> {
return (
<div className="tabComponentContainer">
{!this.props.hideHeader && <div className="tabs tabSwitch">{this.renderTabTitles()}</div>}
{!this.props.hideHeader && (
<div className="tabs tabSwitch" role="tablist">
{this.renderTabTitles()}
</div>
)}
<div className={className}>{currentTabContent.render()}</div>
</div>
);

View File

@@ -23,12 +23,12 @@ describe("ThroughputInput Pane", () => {
});
it("should switch mode properly", () => {
wrapper.find('[aria-label="Manual database throughput"]').simulate("change");
wrapper.find('[id="Manual-input"]').simulate("change");
expect(wrapper.find('[aria-label="Throughput header"]').at(0).text()).toBe(
"Container throughput (400 - unlimited RU/s)"
);
wrapper.find('[aria-label="Autoscale database throughput"]').simulate("change");
wrapper.find('[id="Autoscale-input"]').simulate("change");
expect(wrapper.find('[aria-label="Throughput header"]').at(0).text()).toBe("Container throughput (autoscale)");
});
});

View File

@@ -189,7 +189,7 @@ export const ThroughputInput: FunctionComponent<ThroughputInputProps> = ({
<input
id="Autoscale-input"
className="throughputInputRadioBtn"
aria-label="Autoscale database throughput"
aria-label={`Autoscale` + " " + getThroughputLabelText()}
aria-required={true}
checked={isAutoscaleSelected}
type="radio"
@@ -204,7 +204,7 @@ export const ThroughputInput: FunctionComponent<ThroughputInputProps> = ({
<input
id="Manual-input"
className="throughputInputRadioBtn"
aria-label="Manual database throughput"
aria-label={`Manual` + " " + getThroughputLabelText()}
checked={!isAutoscaleSelected}
type="radio"
aria-required={true}
@@ -222,6 +222,7 @@ export const ThroughputInput: FunctionComponent<ThroughputInputProps> = ({
<Stack className="throughputInputSpacing">
<Text variant="small" aria-label="capacity calculator of azure cosmos db">
Estimate your required RU/s with{" "}
<u style={{ color: "#0078D4" }}>
<Link
target="_blank"
href="https://cosmos.azure.com/capacitycalculator/"
@@ -229,6 +230,7 @@ export const ThroughputInput: FunctionComponent<ThroughputInputProps> = ({
>
capacity calculator
</Link>
</u>
.
</Text>
@@ -249,8 +251,9 @@ export const ThroughputInput: FunctionComponent<ThroughputInputProps> = ({
onChange={(event, newInput?: string) => onThroughputValueChange(newInput)}
step={AutoPilotUtils.autoPilotIncrementStep}
min={AutoPilotUtils.autoPilotThroughput1K}
max={!isSharded ? 10000 : 9000000000000}
value={throughput.toString()}
aria-label="Max request units per second"
ariaLabel="Max request units per second"
required={true}
errorMessage={throughputError}
/>
@@ -270,9 +273,11 @@ export const ThroughputInput: FunctionComponent<ThroughputInputProps> = ({
<Stack className="throughputInputSpacing">
<Text variant="small" aria-label="ruDescription">
Estimate your required RU/s with&nbsp;
<u style={{ color: "#0078D4" }}>
<Link target="_blank" href="https://cosmos.azure.com/capacitycalculator/" aria-label="capacityLink">
capacity calculator
</Link>
</u>
.
</Text>
@@ -295,7 +300,7 @@ export const ThroughputInput: FunctionComponent<ThroughputInputProps> = ({
min={SharedConstants.CollectionCreation.DefaultCollectionRUs400}
max={userContext.isTryCosmosDBSubscription ? Constants.TryCosmosExperience.maxRU : Infinity}
value={throughput.toString()}
aria-label="Max request units per second"
ariaLabel="Max request units per second"
required={true}
errorMessage={throughputError}
/>

View File

@@ -659,7 +659,7 @@ exports[`ThroughputInput Pane should render Default properly 1`] = `
role="radiogroup"
>
<input
aria-label="Autoscale database throughput"
aria-label="Autoscale Container throughput (autoscale)"
aria-required={true}
checked={true}
className="throughputInputRadioBtn"
@@ -676,7 +676,7 @@ exports[`ThroughputInput Pane should render Default properly 1`] = `
Autoscale
</label>
<input
aria-label="Manual database throughput"
aria-label="Manual Container throughput (autoscale)"
aria-required={true}
checked={false}
className="throughputInputRadioBtn"
@@ -712,6 +712,13 @@ exports[`ThroughputInput Pane should render Default properly 1`] = `
>
Estimate your required RU/s with
<u
style={
Object {
"color": "#0078D4",
}
}
>
<StyledLinkBase
aria-label="capacity calculator of azure cosmos db"
href="https://cosmos.azure.com/capacitycalculator/"
@@ -1007,6 +1014,7 @@ exports[`ThroughputInput Pane should render Default properly 1`] = `
</a>
</LinkBase>
</StyledLinkBase>
</u>
.
</span>
</Text>
@@ -1640,10 +1648,11 @@ exports[`ThroughputInput Pane should render Default properly 1`] = `
</div>
</Stack>
<StyledTextFieldBase
aria-label="Max request units per second"
ariaLabel="Max request units per second"
errorMessage=""
id="autoscaleRUValueField"
key=".0:$.2"
max={9000000000000}
min={1000}
onChange={[Function]}
required={true}
@@ -1663,10 +1672,11 @@ exports[`ThroughputInput Pane should render Default properly 1`] = `
value="4000"
>
<TextFieldBase
aria-label="Max request units per second"
ariaLabel="Max request units per second"
deferredValidationTime={200}
errorMessage=""
id="autoscaleRUValueField"
max={9000000000000}
min={1000}
onChange={[Function]}
required={true}
@@ -1961,8 +1971,10 @@ exports[`ThroughputInput Pane should render Default properly 1`] = `
>
<input
aria-invalid={false}
aria-label="Max request units per second"
className="ms-TextField-field field-64"
id="autoscaleRUValueField"
max={9000000000000}
min={1000}
onBlur={[Function]}
onChange={[Function]}

View File

@@ -3,11 +3,11 @@
.treeComponent {
.nodeItem {
&:focus {
outline: 1px dashed @AccentMedium;
outline: 2px @AccentMedium;
}
.treeNodeHeader {
padding: @SmallSpace 2px;
margin: 1px;
cursor: pointer;
display: flex;

View File

@@ -23,7 +23,7 @@ export class MiddlePaneComponent extends React.Component<MiddlePaneComponentProp
onClick={this.props.toggleExpandGraph}
role="button"
aria-expanded={this.props.isTabsContentExpanded}
aria-name="View graph in full screen"
aria-label="View graph in full screen"
>
<img
src={this.props.isTabsContentExpanded ? CollapseArrowIcon : ExpandIcon}

View File

@@ -403,6 +403,7 @@ export class AddCollectionPanel extends React.Component<AddCollectionPanelProps,
content={`Unique identifier for the ${getCollectionName().toLocaleLowerCase()} and used for id-based routing through REST and all SDKs.`}
>
<Icon
role="button"
iconName="Info"
className="panelInfoIcon"
tabIndex={0}

View File

@@ -172,6 +172,7 @@ exports[`AddCollectionPanel should render Default properly 1`] = `
ariaLabel="Unique identifier for the container and used for id-based routing through REST and all SDKs."
className="panelInfoIcon"
iconName="Info"
role="button"
tabIndex={0}
/>
</StyledTooltipHostBase>

View File

@@ -92,6 +92,7 @@ function TabNav({ tab, active, tabKind }: { tab?: Tab; active: boolean; tabKind?
}
}}
className={active ? "active tabList" : "tabList"}
style={active ? { fontWeight: "bolder" } : {}}
title={useObservable(tab?.tabPath || ko.observable(""))}
aria-selected={active}
aria-expanded={active}