- 文章解释了为何从零开始重新创建原生HTML元素(如按钮)是一项“西西弗斯式任务”,因为这需要满足大量复杂的要求和预期。
- 按钮的关键要求包括:具有“button”的角色属性、提供无障碍标签、支持焦点获取、可通过多种输入方式(鼠标、触摸、键盘)激活,并支持禁用等状态。
- 创建自定义按钮元素涉及复杂的步骤:设置ARIA角色、处理无障碍标签(特别是针对图标)、使其可聚焦,以及为交互实现多个事件监听器。
- 实现还必须支持表单相关属性(如type、form、value)、验证API和动态状态(例如激活、禁用),这需要大量的JavaScript代码。