Repository navigation
Accessibility
houyhl edited this page Oct 19, 2026
·
1 revision
LLMOJ's pages work with a keyboard alone, and screen readers are told what changes on them. This page lists the keys and what you'll see or hear.
- Skip to main content: the first Tab on a page shows this link. Press Enter to go past the menus to the page's content.
- Opening another page: the focus moves to the new page's content, as after a full page load, and screen readers hear the page's title.
-
Menus with items: these include the language menu at the bottom of the page and the ⋯ and + menus. Tab to the menu, then:
- ↓ and ↑ move through its items;
- Enter or Space chooses the item;
- Escape closes the menu.
- Your account menu (your username at the top) opens while you Tab through its items.
- Narrow screens: the ☰ button opens the site menu, and the focus moves into it. Escape closes it and returns to the button.
- Small icon buttons (remove a filter, download, delete, rename) are reached with Tab and pressed with Enter or Space. Screen readers read their names.
- The sign-in page starts in the name field. It doesn't on touch screens, where that would cover the page with the keyboard.
- Tab goes from the name to the password, and Enter signs in. Forgot password comes after the password field.
- A wrong name or password is read out and tied to its field.
- On the register and reset-password pages, Tab also reaches Send, which sends the verification code.
- On a problem page, Tab to Submit in the menu on the right and press Enter. The code editor gets the focus.
- In the code editor, Tab indents. To leave the editor, press Ctrl+M (⌃⇧M on a Mac): Tab then moves to the language and the Submit button. Press it again to indent with Tab. A hint at the bottom of the editor says which mode is on.
- Back to Statement returns to the problem, with the focus back on Submit.
While a submission is being judged, its page and the submission list update live:
- The connection drops: a notice says Live updates are interrupted. Reconnecting… It retries by itself.
- Several attempts fail: the notice says the page may be out of date and offers Reload page.
- The connection is back: the notice disappears, and screen readers hear "Live updates resumed".
- Judging finishes while the page is open: screen readers hear the result, for example "Judging finished: Accepted, score 100."
- Notifications at the top right are read out too. Errors are read out at once.
You can pinch to zoom on every page. On phones, text fields use 16-pixel text, so iPhones don't zoom in when you tap one. Sign-in, the problem set, problem pages and submissions fit screens 320 to 768 pixels wide without scrolling sideways.
- Contrast: some of Semantic UI's colors are a little under the 4.5:1 contrast that WCAG asks of small text. These include links, blue buttons and status colors.
- Dropdowns: screen readers announce them as list boxes, because of Semantic UI's markup.
- Headings: some list pages have no top-level heading. Their title is in the browser tab and is read out when the page opens.
简体中文
- LLMOJ Wiki
- AI 环境与固定限制
- AI
- 键盘与读屏软件
- 后端配置
- 容量
- 功能升级与数据库修改
- 配置总览
- 比赛赛制
- 分布式评测
- Docker 源
- 环境变量与维护脚本
- 前端配置
- HTTPS 与反向代理
- Hack
- 安装与端口配置
- 评测配置与扩缩容
- 安装后运维
- 发布源码与 Wiki
- 新用户注册审核
- 远程评测机
- NOI / OI 比赛自测(Self Eval)
- 题解
- Fake 处罚
- 提交记录
- 团队
- 两步验证
- 升级
English
- LLMOJ Wiki
- AI
- AI environment and fixed limits
- Keyboard and screen readers
- Backend configuration
- Capacity
- Feature upgrades and database changes
- Configuration overview
- Contest rules
- Distributed judging
- Docker sources
- Environment variables and maintenance scripts
- Frontend configuration
- HTTPS and reverse proxies
- Hacks
- Installation and ports
- Judge configuration and resizing
- Operations
- Publishing source and the wiki
- Registration approval
- Remote judges
- Self Eval in NOI / OI contests
- Solutions
- Fake moderation
- Submissions
- Teams
- Two-factor sign-in
- Upgrading