|
| 1 | +# Accessibility |
| 2 | + |
| 3 | +**English** | [中文](#中文) |
| 4 | + |
| 5 | +This repository is a Python library and an in-sandbox HTTP service. It has no graphical application. Text, JSON, and documented exit behavior are the interface. |
| 6 | + |
| 7 | +The terminal interface is `ebx`, maintained in [easy-sandbox](https://github.com/Easy-Sandbox/easy-sandbox). Its commitment, supported terminals, and how to turn color and animation off are in that repository's [ACCESSIBILITY.md](https://github.com/Easy-Sandbox/easy-sandbox/blob/main/ACCESSIBILITY.md). |
| 8 | + |
| 9 | +## Commitment |
| 10 | + |
| 11 | +- Public APIs return structured data (objects and JSON), not an arrangement that only makes sense on a screen. |
| 12 | +- Error messages name the failure in text. A secret value is not copied into the message. |
| 13 | +- HTTP routes that a template serves identify themselves with status codes and JSON bodies. |
| 14 | +- A report of a barrier is a product bug. We will answer it in the issue tracker. |
| 15 | + |
| 16 | +## Supported environments |
| 17 | + |
| 18 | +| Environment | What we support | |
| 19 | +|---|---| |
| 20 | +| Python | 3.10 or newer | |
| 21 | +| Operating systems | Linux, macOS, and Windows, for the client library | |
| 22 | +| In-sandbox server | Linux, the image you build from a template, listening on port 9000 by default | |
| 23 | +| Clients | Any HTTP client that can send and receive UTF-8 JSON, including a screen reader's browse mode when the caller renders that JSON as text | |
| 24 | +| Terminal use of the library | The same terminals and screen readers as the CLI, when you print SDK results as text | |
| 25 | + |
| 26 | +`GET /health` and other JSON routes stay text. File upload and download carry bytes and say so in the API; they are not a text alternative for the file's own contents. |
| 27 | + |
| 28 | +## Known limitations |
| 29 | + |
| 30 | +- Streaming responses (server-sent events and WebSockets) arrive as a sequence of frames. A screen reader will not announce them unless the program you wrote reads the frames and prints text. |
| 31 | +- The server does not render HTML and does not set a page language, landmarks, or focus order. |
| 32 | +- Examples under `examples/` are scripts. Their printed output is plain text. They are not an accessible interactive tutorial. |
| 33 | +- Sandbox images you build can run third-party programs. Those programs are outside this statement. |
| 34 | + |
| 35 | +## How to report a barrier |
| 36 | + |
| 37 | +Open an issue: |
| 38 | + |
| 39 | +https://github.com/Easy-Sandbox/python-sdk/issues/new/choose |
| 40 | + |
| 41 | +Include the call or HTTP request with secrets removed, the Python version, the operating system, and what you expected to read versus what you received. If the barrier is in `ebx` rather than the library, file it on [easy-sandbox](https://github.com/Easy-Sandbox/easy-sandbox/issues/new/choose). |
| 42 | + |
| 43 | +## 中文 |
| 44 | + |
| 45 | +这个仓库是 Python 库和沙箱内的 HTTP 服务,没有图形界面。接口是文本、JSON,以及文档里写明的退出行为。 |
| 46 | + |
| 47 | +终端程序是 `ebx`,在 [easy-sandbox](https://github.com/Easy-Sandbox/easy-sandbox) 仓库。终端、读屏软件,以及如何关闭颜色和动画,写在该仓库的 [ACCESSIBILITY.md](https://github.com/Easy-Sandbox/easy-sandbox/blob/main/ACCESSIBILITY.md)。 |
| 48 | + |
| 49 | +我们承诺:公开 API 返回结构化数据;错误信息用文字说明失败,且不把密钥抄进消息;模板对外的 HTTP 路由用状态码和 JSON 表明自己;无障碍障碍视为产品缺陷,并在议题里回复。 |
| 50 | + |
| 51 | +支持的环境:Python 3.10 及以上;客户端库支持 Linux、macOS、Windows;沙箱内服务运行在模板构建出的 Linux 镜像里,默认监听 9000 端口;任何能收发 UTF-8 JSON 的 HTTP 客户端都可以调用。 |
| 52 | + |
| 53 | +已知限制: |
| 54 | + |
| 55 | +- 服务器发送事件和 WebSocket 是一帧一帧到达的。除非你的程序把帧打印成文字,读屏软件不会自动朗读。 |
| 56 | +- 服务不渲染 HTML,也不提供页面语言、地标或焦点顺序。 |
| 57 | +- `examples/` 下的示例是脚本,输出是纯文本,不是一套可交互的无障碍教程。 |
| 58 | +- 你构建的沙箱镜像里可以运行第三方程序,那些程序不在本说明的范围内。 |
| 59 | + |
| 60 | +报告障碍:打开 https://github.com/Easy-Sandbox/python-sdk/issues/new/choose 。写上调用或 HTTP 请求(去掉密钥)、Python 版本、操作系统,以及你期望读到的内容和实际收到的内容。如果问题出在 `ebx` 而不是这个库,请提到 [easy-sandbox](https://github.com/Easy-Sandbox/easy-sandbox/issues/new/choose)。 |
0 commit comments