手写体识别互动 - Canvas写字母机器判断
在Canvas上写一个字母,程序尝试识别,帮助调整笔迹清晰度。
UD5工具箱
动态内容播报测试 · 屏幕阅读器行为验证 · 无障碍开发辅助
提示:
aria-live 属性,开发者可以控制屏幕阅读器如何处理 DOM 内容的变化。这是构建无障碍 Web 应用的关键技术之一,特别适用于单页应用(SPA)、实时通知、表单验证反馈等场景。
aria-atomic="true" 表示当区域内容发生变化时,屏幕阅读器会播报整个区域的全部内容,而不仅仅是发生变化的部分。这在需要用户了解完整上下文时非常有用,例如错误消息区域。aria-atomic="false"(默认)表示屏幕阅读器仅播报发生变化的部分内容。这对于增量更新的内容(如聊天消息流、实时日志)更加合适,避免重复播报不变的内容。
role="status" 会隐式设置 aria-live="polite" 和 aria-atomic="false",适合用于状态消息、操作反馈等非紧急信息。role="alert" 会隐式设置 aria-live="assertive" 和 aria-atomic="true",适合用于错误消息、紧急警告等需要立即关注的信息。使用 role="alert" 时,内容变化会立即打断屏幕阅读器的当前播报。role="log"(隐式 polite)、role="marquee"(隐式 off)、role="timer"(隐式 off)等。
clip 或 sr-only 技术隐藏 Live Region(不要使用 display:none),使其在视觉上不可见但仍能被屏幕阅读器访问。
aria-live="off"(或完全不设置 aria-live):在Canvas上写一个字母,程序尝试识别,帮助调整笔迹清晰度。
在支持WebXR的设备上,通过摄像头画面标注两点,估算真实世界距离,简单实用。
使用Vibration API控制设备振动,测试短振、长振和模式振动,验证触觉反馈。
输入可能的攻击向量,选择不同的转义或过滤策略,实时查看是否被安全处理,教育安全开发。
点击按钮触发不同模式的设备振动,检测振动功能。
在一个隔离环境中渲染单个组件,调整 props 查看变化,类似于 Storybook 的轻量替代。
添加二维点并选择核函数,直观展示SVM决策边界与支持向量,理解最大间隔分类原理。
录制一段音频,实时添加机器人、外星人、回声等音效并下载,不依赖服务器。
演示如何动态更新 datalist 选项以实现搜索建议,并处理键盘选择。
编写 Handlebars 模板并提供 JSON 数据,即时渲染结果,支持 helpers 自定义,纯前端执行。
拖拽改变一个div的大小,通过ResizeObserver API实时显示其新的宽度和高度。
调节两列波的频率、波长和位置,实时观看水面波干涉形成的明暗条纹图案。
代理 WebSocket 连接,实时拦截并展示所有文本/二进制消息,支持过滤和搜索。
可视化调整cubic-bezier和steps()缓动,并可实时看到动画球左右移动。
将已有戒指放在屏幕上对照圆圈,或测量手指周长以确定戒指码数。
输入词汇和权重,生成美观的文字云图片,可自定义配色和螺旋布局。
输入源页和引用页URL,构造Webmention请求通知被引用页面,演示独立博客协议。
设置初始角度和杆长,实时渲染双摆运动的混沌轨迹,体验确定性系统的不可预测。
输入WebSocket服务地址,建立连接,发送和接收消息,方便调试实时通信应用。
生成含不同题材、作者的5x5宾果卡,每读完一本划掉,满一行有奖励。
尝试将目标 URL 加载到 iframe 中,检测是否缺少点击劫持防护头,并展示风险。
检测页面touchstart和wheel事件是否使用passive:true,避免移动端滚动延迟。
实时显示当前网络连接状态,监听online/offline事件,帮助用户判断断网原因。
分析表单 HTML,检查是否每个 input 都有正确关联的 label,并指出使用 aria-label 的替代情况。
调节采样频率,观察对正弦波的离散采样和重建效果,演示欠采样导致的频率混叠。
通过加载测试广告脚本或元素来检测浏览器是否启用广告拦截插件,并展示检测原理。
以年支出的25倍为财务自由目标,输入净资产与储蓄率,计算剩余年数。
编写 generator 函数,逐步 next() 并显示每次 yield 的值和状态,理解惰性求值。
填写企业信息,模拟在 Google 搜索右侧可能出现的知识面板卡片。
在线将LAB色彩空间值与RGB/HEX进行转换,辅助印刷和设计校色。