修复认证页 Tab 焦点顺序 05-26-oa-auth-layout-wecom-login-ux

这个提交包含在:
2026-05-27 12:04:46 +08:00
父节点 b511515bc6
当前提交 2a11ab9da8
共修改 5 个文件,包含 51 行新增和 10 行删除
@@ -138,6 +138,10 @@ onNeedRefresh() {
should feel like an OA workstation entry, not a marketing split hero.
- Place `忘记密码?` beside the password label or directly below the password
input on the right; do not bury it in help text or page footer.
- Keep the DOM/tab order aligned with the main form flow even when CSS places
`忘记密码?` visually beside the password label: username/email input -> password
input -> secondary controls. Do not render the forgot-password link before the
password input in DOM order.
- Use password visibility icon buttons with accessible labels and preserve the
current input value.
@@ -158,6 +162,8 @@ onNeedRefresh() {
- Frontend typecheck and build.
- Focused auth E2E covering:
- password visibility and forgot-password navigation on `/login`;
- keyboard Tab from the username/email field lands on the password input, not
the forgot-password link;
- password recovery request-code and reset flow on `/forgot-password`;
- normal-browser Enterprise WeChat entry as secondary CTA;
- WeCom WebView Enterprise WeChat entry as primary CTA with password fallback.
@@ -186,3 +192,19 @@ onNeedRefresh() {
<SecondaryLoginMethods />
</AuthPanel>
```
#### Wrong
```tsx
<Label htmlFor="login-password">密码</Label>
<Link to="/forgot-password">忘记密码?</Link>
<PasswordInput id="login-password" />
```
#### Correct
```tsx
<Label htmlFor="login-password">密码</Label>
<PasswordInput id="login-password" />
<Link className="row-start-1" to="/forgot-password">忘记密码?</Link>
```