feat(a11y): provide additional context for authorization and logout button (#8999)

Refs #8998

Co-authored-by: Vladimír Gorej <vladimir.gorej@gmail.com>
This commit is contained in:
Jelle Aret
2023-09-07 10:00:03 +02:00
committed by GitHub
parent ea6e398587
commit 2c04153614
4 changed files with 26 additions and 4 deletions

View File

@@ -88,8 +88,8 @@ export default class Auths extends React.Component {
}
<div className="auth-btn-wrapper">
{
nonOauthDefinitions.size === authorizedAuth.size ? <Button className="btn modal-btn auth" onClick={ this.logoutClick }>Logout</Button>
: <Button type="submit" className="btn modal-btn auth authorize">Authorize</Button>
nonOauthDefinitions.size === authorizedAuth.size ? <Button className="btn modal-btn auth" onClick={ this.logoutClick } aria-label="Remove authorization">Logout</Button>
: <Button type="submit" className="btn modal-btn auth authorize" aria-label="Apply credentials">Authorize</Button>
}
<Button className="btn modal-btn auth btn-done" onClick={ this.close }>Close</Button>
</div>

View File

@@ -268,8 +268,8 @@ export default class Oauth2 extends React.Component {
}
<div className="auth-btn-wrapper">
{ isValid &&
( isAuthorized ? <Button className="btn modal-btn auth authorize" onClick={ this.logout }>Logout</Button>
: <Button className="btn modal-btn auth authorize" onClick={ this.authorize }>Authorize</Button>
( isAuthorized ? <Button className="btn modal-btn auth authorize" onClick={ this.logout } aria-label="Remove authorization">Logout</Button>
: <Button className="btn modal-btn auth authorize" onClick={ this.authorize } aria-label="Apply given OAuth2 credentials">Authorize</Button>
)
}
<Button className="btn modal-btn auth btn-done" onClick={ this.close }>Close</Button>

View File

@@ -14,6 +14,15 @@ describe("OAuth2 Application flow", function() {
.should("have.id", "oauth_username")
})
it("should have specific OAuth2 description for authorization button", () => {
cy
.visit("/?url=http://localhost:3231/swagger.yaml")
.get(".btn.authorize")
.click()
.get(".auth-btn-wrapper > .authorize")
.should("have.attr", "aria-label", "Apply given OAuth2 credentials")
})
it("should make an application flow Authorization header request", () => {
cy
.visit("/?url=http://localhost:3231/swagger.yaml")

View File

@@ -0,0 +1,13 @@
describe("ApiKey Authorization", function() {
it("should have generic description for authorization button", () => {
cy
.visit("/?url=/documents/petstore.swagger.yaml")
.get(".btn.authorize") // open authorization dialog
.click()
.get(".modal-ux-content > :nth-child(2)") // only deal with api_key for this test
.within(() => {
cy.get(".auth-btn-wrapper .authorize")
.should("have.attr", "aria-label", "Apply credentials")
})
})
})