Copyright © 2026 World Wide Web Consortium. W3C® liability, trademark and permissive document license rules apply.
Web 可持续性指南(WSG) 提供可执行的建议,帮助数字团队做出明智且可持续的决策。在 考量工作和 Web 的不同方面时,这些指南处理数字产品和服务对地球、人类和 繁荣(PPP)的影响。 它们具有跨学科性质,并涵盖人工智能和新兴 Web 技术。
一些指南引用了来自 W3C 和其他组织的现有文档与规范。这种方式突出了 交叉性与协作的重要性,而不是重新解释已建立的建议。 虽然 WSG 优先关注 Web 技术,但它也可以 支持更广泛的组织可持续性工作。
WSG 也可以作为一座实用桥梁,用于支持 更广泛的组织可持续性举措和转型,帮助团队将面向 Web 的 指导应用到更广泛的环境、社会和治理工作中。
鼓励组织持续推进可持续性进展。设定现实目标并跟踪 进展,将帮助团队实现持久的 Web 可持续性。有关实施指导,请参阅本文档中的 “附加信息”部分以及支持性 文档。
本节描述本文档在发布时的状态。 当前 W3C 出版物列表以及本技术报告的最新修订版可在 W3C 标准与草案 索引中找到。
本文档已由可持续 Web 兴趣组成员和其他相关 方面审阅。该兴趣组发布 WSG 草案,以 提高人们对这些指南的认识,并鼓励讨论和采用。发布这些指南 并不意味着它们会影响其他 W3C 小组开展的工作;兴趣组将视 情况监测相关工作。
欢迎反馈,并应通过 GitHub 提交。提交 议题需要一个免费的 GitHub 账户。以往讨论归档在 public-sustainableweb@w3.org(归档)邮件列表中。
目前尚无初步互操作性或实现报告。不过,兴趣组正在 探索 Web 可持续性的模型,以为工具、大规模研究和未来的 WSG 指导提供依据。
本文档由可持续 Web 兴趣组作为 小组说明草案发布,并使用 说明 轨道。
小组说明草案未获得 W3C 或其成员认可。
这是一份草案文档,可能随时被其他文档更新、替换或废弃。 不应将本文档作为正在进行中的工作之外的内容来引用。
W3C 专利 政策 不对本文档施加任何许可要求或承诺。
本文档受 2025年8月18日 W3C 流程文档约束。
引言的简明语言摘要:
WSG 对 Web 可持续性的定义 如下:
一种设计、开发和运营数字产品与服务的方法,使 Web 尽可能 清洁、高效、开放、诚实、再生且 有韧性。[MANIFESTO]
Web 可持续性不只是减少伤害:它也关乎恢复生态系统并支持 社区繁荣发展。Web 既可以是问题的一部分,也可以是 解决方案的催化剂。
WSG 旨在促进一个更合乎伦理、以人为本且包容的 Web。这些指南强调 系统思维、交叉性和跨职能协作,并将其视为 可持续发展的关键。
WSG 对其定义中的关键术语理解 如下:
- 清洁:使用低碳或可再生能源进行托管;
- 高效:使用尽可能少的资源;
- 开放:透明、可访问且由用户控制;
- 诚实:避免操纵、剥削或欺骗性模式;
- 再生:支持社区和生态系统;
- 有韧性:设计为能在不断变化的环境下持续存在并适应。
这建立在 Web 可持续性现有支柱之上:
- 地球:保护并促进健康的生态系统。
- 人类:保护个人、社区以及整个社会。
- 繁荣:遵循以良好治理、韧性和 共享公平为基础的实践。
Web 可持续性指南(WSG)探讨如何 让 Web 产品和服务对地球、人类和 繁荣更加可持续。Web 可持续性不只是严格意义上的环境问题,因为 可访问性、国际化、隐私和安全等因素会 影响项目的长期可行性。在追求 Web 可持续性时,应始终毫不妥协地遵守这些原则。
数字服务运行于复杂的环境、社会和经济系统之中。因此,Web 可持续性需要一种系统思维方法,以理解在一个领域做出的决策可能如何 影响其他领域的结果。这需要跨职能协作,汇集来自不同部门的 专业知识。考虑这些相互依赖关系有助于避免意外 后果并识别机会。
虽然这些指南在多个领域推广 Web 可持续性,但它们并不涵盖 所有可能的环境改进、方法或战略。Web 可持续性是 一个不断发展的领域,研究或既定最佳实践中可能存在空白。应始终探索 可能更适合具体情境的其他方法。
WSG 关注 Web 技术,但正如 Web 与我们所做的几乎一切都有联系一样,WSG 也会审视那些影响 Web 可持续性的、不太明显的细节,即使它们与 数字服务和 Web 的关系乍看起来可能并不紧密。组织在设定目标、 报告以及确保符合法规时,应考虑这些更广泛的影响。
WSG 面向多样化受众设计,包括 开发者、设计师、政策制定者等。它提供多个指导层次,以满足 不同需求。
这些层次共同提供了一种结构化方法,类似其他 W3C 指南,并帮助实现者创建更 可持续的项目。指南描述 Web 可持续性目标,成功准则定义可衡量的 期望,附加信息则提供上下文和示例,以支持实施。
Web 可持续性指南(WSG)被组织为 四个类别,反映数字服务和 Web 中涉及的不同角色。读者 应审阅所有部分,即使某些部分名义上与其假定的 职责无关。这一点很重要,因为某些成功准则在其所属 类别之外也具有相关性。虽然 WSG 内容全面,但这些指南范围之外仍存在其他 Web 可持续性改进。
这份交互式规范允许你按兴趣筛选成功准则;关系中 列出的标准可作为筛选器,并在资源文档中进行 交叉引用。
WSG 设计为可通过自动化工具和人工评估进行测试。 它适用于广泛的 Web 技术,并在全球专家的参与下 开发而成。
WSG 强调数据驱动的 决策。成功准则由证据和最佳实践支撑,相关 支持材料可在资源文档中获得。
与数字服务相关的环境影响超出了能源消耗和 温室气体(GHG)排放。在数据和方法可用的地方,也应考虑与数字基础设施 相关的材料使用、电子废弃物、用水和化学污染 [VARIABLES]。
Web 可持续性改进可能涉及权衡。例如,减少 用水的行动可能会增加能源需求,而性能优化可能会影响 可访问性或设备兼容性。实现者应仔细评估潜在权衡, 以确保某一领域的改进不会无意中在另一领域造成伤害。
Web 可持续性指南(WSG)影响衡量资源 定义了一个框架,用于评估 WSG 指南在三个类别中的影响:人类、 地球和繁荣。每条指南都会被分配一个影响评级(不确定、低、中或 高)以及一个时间范围(短期、中期或长期),用以表示预计何时能 观察到影响。
这些输入用于计算每条指南的影响分数。该分数帮助组织 根据相对影响和时间范围比较指南并确定行动优先级。较高分数 表示在较短时间范围内实现了较高影响。由此产生的分数包含在该 资源中。
在无法进行定量衡量的地方,评级基于可用研究和专家 输入。每条指南都包含其评级和时间范围的依据,并在适当时 提供建议指标以支持评估。
Web 可持续性指南依赖多个实现者:
它们的影响示例包括渲染性能,以及通过开发者工具准确衡量能源使用。 创作工具也通过生成高效代码、减少浪费,并以尽可能可持续的方式 交付结果来支持 Web 可持续性。
提供 WSG 洞察的工具或用户代理必须避免指纹识别风险。例如,通过 唯一标识符、分数或模式跟踪用户。能源指标应被聚合,以避免 识别单个用户。
除此之外,Web 可持续性还需要所有角色中的倡导者:
可持续性是一项共同责任。不同的倡导者可以根据其专长和情境 主导、支持或倡导不同的指南。
随着研究、技术和 Web 可持续性实践的发展,WSG 将持续更新。通过 GitHub 贡献,以帮助确保 指导反映当前知识和实际实施经验。
本节定义与 WSG 保持一致的要求,包括可选的一致性声明,以及 避免漂绿的指导。
与 WSG 保持一致,无论是部分还是完整, 都意味着满足一组特定的 WSG 准则。 可针对成功准则、指南、章节(基于角色)或整个规范来 确立与 WSG 的一致性。
当数字产品或服务满足某一成功准则中的要求时,它即与该特定成功准则 保持一致。
当数字产品或服务满足某一指南中的所有成功准则时,它即与该单独指南 保持一致。如果某一成功准则无法适用,则不影响 该指南的一致性。
某一成功准则可能不适用,例如,它可能涉及视频 内容,而被评估的产品或服务并不包含视频。
章节层面(基于角色)的一致性可以通过与某一 章节中的所有指南保持一致来实现。例如,如果 Web 开发章节中的所有指南都被满足,则网站或 组织被视为在该章节上部分一致。
这些称为:
当数字产品或服务满足所有指南中的所有成功准则时,它即与 WSG 完全一致。
并非所有产品或服务都能实现完全一致。在实施和遵循 这些指南时,应将务实和持续进步优先于追求完美。
一致性声明是可选的。如果作出声明,则 必须包含:
实现者可以在不作出声明的情况下与 WSG 保持一致。
除一致性声明本身之外,包含以下内容也会有所帮助:
在可持续性声明中记录声明和支持证据,有助于证明 符合减排目标、内部范围核算或法规要求。
使用这些指南可以帮助组织更好地与现有和新兴的法律、政策和 报告方案保持一致,这些内容与环境和可持续性实践相关。它们并不 保证完全合规,应与适用的法律和监管 要求一并应用。
漂绿是误导公众,使其相信某家公司或其他实体在 保护环境方面做得比实际更多。人们承认虚假声明可能会在其他领域 伤害用户。在可持续性领域,由这种威胁向量产生的伤害不仅会影响 产品或服务的用户,还会影响更广泛的生态系统和社会。
为避免这种情况:
WSG 所基于的指南和标准 始终在变化。有些被称为“现行”或“常青”标准,它们经常更新,可能会 很快影响本文档的相关性。另一些更新较少,因此变更可能不会 影响 WSG,直到新版本发布。
因此,任何使用 WSG 的人都应 定期检查基于新研究或数据的最佳实践更新。他们还应 确保工具保持最新,以符合最新指导。
当 WSG 指导与其他文档中的指导 发生冲突时,首先检查是否有替代解决方案能够同时满足 Web 可持续性和 合规义务。如果冲突仍然存在,则评估风险:遵循可持续性风险较低的建议, 除非 WSG 被更高权威(如法律)所覆盖。
WSG 规范提供一个稳定、可引用的 基础。支持性文档通过实施指导、方法论以及 与新技术协作的战略对其进行扩展。支持性文档包括:
更多内容,请参阅 W3C 可持续 Web 兴趣组 GitHub,获取与 WSG 相关的 教育资源;其他 资源(如工具)可按需引用。
如果你正在创建面向用户的内容和系统,那么无论你是否意识到,你都在 从事用户体验(UX)工作。
用户体验设计通过让项目长期保持可用、高效且可信,减少不必要的重复和资源使用, 从而有助于可持续性。当产品难以使用时,往往需要更多 支持、更多重试,并且可能比必要时间更早被放弃或替换。这会缩短寿命并 增加重新设计和重新开发的需求——这些影响会在用户之间并随时间累积。
目标包括:
收益包括:
用户体验设计的简明语言摘要:
评估并报告数字项目对地球、人类和繁荣的影响,并 规划可衡量的减排措施,以降低其活动在现实世界中的影响。
在项目开始时以及之后的定期间隔中,审查你的项目对地球、人类和繁荣的 影响。记录你识别出的主要问题、需要改进之处,以及你取得的 进展。将这些发现反映在面向公众的治理文件和项目报告中。
制定计划,以减少与项目相关的数字活动所产生的非数字环境和社会影响。 包括物流和交付排放、基础设施排放、当地健康影响,以及供应链压力 所带来的影响。使用可衡量的行动来改善外部的地球、人类和 繁荣结果。
标签
可访问性、兼容性、硬件、构思、网络、性能、隐私、 报告、研究、社会公平、软件
识别并让用户和受影响社区参与,并研究他们的需求。
识别项目的主要用户、次要用户以及受影响社区。使用研究、 测试、分析和审查来了解他们的需求以及项目对他们的影响。在整个 项目过程中让用户参与。
标签
可访问性、兼容性、构思、模式、报告、KPI、隐私、研究、社会公平、UI、可用性
设计并审查可持续的品牌和体验,在整个过程中让用户参与,并通过早期测试和 具有环境意识的设计,减少不必要的开发和环境影响。
在发布前优化已批准的品牌材料和资源,以满足组织的可持续性 要求,并在上线后定期审查它们。如果存在品牌指南, 应包含有关材料和资源环境影响的信息,以及关于 可持续生产、使用和处置的指导。
使用线框图和快速原型来尽早测试想法、快速达成共识、降低风险,并 避免不必要的开发工作和资源使用。
在整个设计过程中使用参与式设计方法。让用户参与测试和 迭代,并为社区提供分享其知识和经验的机会,以改进 产品或服务。
在构思阶段处理地球需求和环境边界。这可以包括 创建非用户、非人类画像,例如以动物或地球为中心的视角,以及 开发特定气候的用户故事和冲刺。
标签
可访问性、构思、KPI、研究、 社会公平、软件、战略、UI
设计清晰、高效的旅程,帮助用户以最少的努力完成任务并找到内容。
让任务简单且高效地完成。帮助用户在任务开始时了解需要做什么, 减少不必要的选择,并说明预计旅程需要多长时间。
设计清晰且高效的用户旅程。使用人们已经理解的既有设计模式。
提供人类可读的网站地图,尤其适用于导航并不直观的大型、复杂或旧版网站。 定期保持更新。提供清晰且可访问的导航和 搜索功能,使用户能快速找到所需的内容或服务。使用轻量且 高效的方式帮助用户发现新内容和服务,包括新闻页面、更新和 变更日志。
标签
可访问性、内容、HTML、营销、模式、性能、隐私、社会公平、UI、可用性
让用户控制通知和注意力,优先呈现与任务相关的内容,并 避免会分散注意力或不必要延长参与时间的设计。
确保用户能够控制接收信息的时间和方式,同时尊重他们的注意力、 专注和心智负担。
向用户显示与其当前任务相关的信息,并避免不必要的打断和 相互竞争的界面元素。延迟显示或折叠并非立即需要的信息,但保持其易于 查找。仅在用户选择打开时才显示弹出窗口、模态窗口或其他破坏性界面元素。 仅在能改善用户体验时使用装饰性设计,并让 可选资源可移除或默认关闭。不要移除可能对可访问性、 安全或不同用户需求很重要的信息或功能。
避免让用户停留时间超过必要的设计模式,例如无限滚动,或禁用 标准浏览器控件和导航功能。
标签
可访问性、资源、内容、模式、性能、隐私、社会公平、UI、可用性
避免欺骗性模式,清楚标注广告,尊重跟踪同意,并确保 搜索、分享和可发现性实践优先满足用户需求,而非优化或操纵。
避免会施压或误导用户的欺骗性设计模式。这包括诱导后替换、 隐藏费用或虚假稀缺等做法。
清楚标注广告和赞助内容。以轻量且尽量不打扰的方式投放广告, 同时让用户能够控制体验。
移除不必要的分析和跟踪,并在跟踪分析方面尊重用户同意。
以支持用户需求而非操纵的方式优化搜索和社交分享内容。 不要滥用可访问性功能、创建低质量内容,或仅为影响搜索排名而添加不必要的 重复内容。
标签
可访问性、资源、兼容性、JavaScript、JavaScript、模式、隐私、安全、 社会公平、UI、可用性
创建可发现、可维护和可复用的文档与代码资源, 以支持长期理解、复用和可持续性。
以可复用格式创建文档和其他交付物,以减少重复工作并支持 长期可持续性。
用清晰且易于维护的资源记录功能和技术要求。随时间保持 文档更新,并为替换或退役过时信息提供指导。
为开发者提供源代码和代码注释访问权限,使他们能够轻松理解、 维护并复用代码。
标签
可访问性、资源、内容、教育、模式、软件
使用设计系统和既有模式,通过可复用组件和清晰的维护实践, 确保界面一致、高效且可持续。
对于大型项目或有许多贡献者的项目,使用设计系统来提升一致性、 性能和长期可持续性。使用基于 Web 标准的可复用组件,仅加载 每个页面或功能所需的组件,并通过清晰的归属、 版本管理和更新后的文档来维护该系统。遵循既有设计模式和约定。
标签
可访问性、资源、CSS、教育、模式、 战略、UI、可用性
仅在媒体支持用户需求时才包含媒体。高效地管理、优化和加载媒体。 确保用户能够控制播放和数据使用。
仅在媒体支持用户体验或有助于理解时才包含媒体,并将 媒体项目数量保持在最低限度。
针对不同屏幕尺寸、设备和用户需求调整媒体大小、优化并压缩媒体。使用广泛 支持且高效的格式,并在可能时启用原生播放。避免不必要的自定义或 非原生媒体播放器。在可用且符合安全 要求时,使用硬件加速播放。
从一开始就纳入延迟和/或推迟加载,方法是识别哪些媒体元素 需要立即加载,哪些应仅在用户交互时加载。仅在需要时加载大型或数据密集型 媒体,使用非功能性的静态外观或占位符来推迟加载,直到 用户请求或交互。
默认禁用音频、视频和其他媒体的自动播放。确保用户能够控制播放和 分辨率。告知用户媒体长度、格式和预期数据使用量。提供 禁用数据密集型媒体的选项,或提供较低带宽的替代方案。
创建媒体管理和使用政策。包含有关压缩、渲染性能、 文件格式、数据保留、存储、审查和删除的指导。
示例
<picture> <source type="image/avif" srcset="image.avif"> <source type="image/webp" srcset="image.webp"> <img width="100px" height="100px" src="image.jpg" alt="" loading="lazy"/> </picture>
标签
可访问性、资源、内容、HTML、性能、软件、UI、可用性
谨慎且高效地使用动画,仅在动画有助于理解时使用,同时 限制性能影响并让用户控制运动效果。
仅在动画支持用户体验或帮助用户理解内容或操作时使用动画。
限制动画数量和频率,以减少干扰、降低资源使用,并避免 影响设备性能。设置最大重放次数或迭代次数。
让用户能够启动、暂停、停止或控制动画和运动内容。
让交互式和动画内容尽可能轻量。通过考虑格式、长度、复杂度、尺寸、 质量、工具和实现方式,降低渲染成本。当存在 多种方案时,选择浏览器或平台原生动画能力,并 最小化主线程或布局密集型工作。
示例
@media (prefers-reduced-motion: reduce) {
body *,
body *::before,
body *::after {
animation-delay: -1ms !important;
animation-duration: 1ms !important;
animation-iteration-count: 1 !important;
background-attachment: initial !important;
transition-duration: 1ms !important;
transition-delay: -1ms !important;
scroll-behavior: auto !important;
}
}
标签
可访问性、CSS、JavaScript、性能、 UI、可用性
使用能最大限度减少下载和复杂度的字体策略,同时支持所需 语言和动态内容。
使用系统字体或其他预安装字体,以减少字体下载并提升性能。
限制下载字体的数量和复杂度。使用可变字体时,仅将支持的 轴和范围限制为项目所需内容,以减小文件大小。使用可用的最高性能 字体格式,并提供合适的回退字体,以在字体加载期间或无法加载自定义字体时 保持可读性和性能。
移除未使用的字体样式、字重和字符集。根据项目明确支持的 语言、文字系统和所需 Unicode 范围对子集字体进行划分。如果你能完全控制所有 输入和输出,则将字体子集化为仅包含相关 Unicode 范围或字符集。 在涉及动态内容或用户生成输入的情况下,提供更广泛的文字系统覆盖,并使用 增量字体传输(IFT)按需加载所需字体 片段。
示例
font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif;
标签
可访问性、CSS、性能、UI、可用性
仅发送用户请求的通知,并为管理偏好、选择加入、账户和联系方式设置 提供清晰、可访问的控件。
仅发送符合用户偏好或由用户明确请求的通知。避免 不必要的电子邮件、(SMS)消息和推送 通知。让用户清楚地控制每种通知类型。
让用户轻松管理其通知和消息设置。使取消订阅、退出登录和 账户关闭选项可见且可访问。默认关闭可选通知,并且 仅在用户选择加入后启用。
标签
JavaScript、隐私、UI、可用性
通过数字优先工作流减少纸张使用,优化并复用可访问的 可下载文档,并提供清晰、由用户控制的文档预览和格式。
设计工作流以减少对纸质文档的需求。在必须使用纸张时,通过高效的打印布局和 尽量少的页数来减少纸张使用。包含打印样式表,并使用真实内容对其进行测试。 鼓励使用数字格式,而不是纸质存储和归档。
优化并压缩可下载文档,以适合不同用户需求的可访问格式提供它们,并选择开放且 广泛支持的格式(如 HTML),而不是专有文件格式。
避免重复工作。当文档被复用时,在服务器上生成并存储一次,使其可以被 高效复用,最好放在无 cookie 的域名上。
在下载前向用户显示文档名称、格式、大小和简短摘要。让用户选择最合适的 格式和语言。避免将文档直接嵌入页面;而是提供下载或浏览器查看链接。
标签
可访问性、资源、兼容性、内容、电子废弃物、硬件、性能、软件、 UI、可用性
通过用户测试定义并验证原型和界面组件,以确保 它们在真实世界用例和多样化用户需求中有效工作。
为新功能和界面组件的原型制作与测试创建明确的流程。让具有代表性的用户 对其进行验证,以确保它们能在真实世界条件和不同需求下工作。
标签
可访问性、教育、治理、构思、研究、社会公平、策略、UI、可用性
定期审计问题或故障,并在模拟场景和真实世界场景中 定期运行测试,以确保项目稳定性。
评估当前用户体验并检查代码库中的错误,识别性能问题,并在适当的 定期间隔中处理可访问性、可持续性或安全问题,例如每月或每季度。
维护覆盖关键功能的自动化测试套件,并在构建和发布期间一致运行它, 以便尽早发现回归问题。
识别并解决底层代码或基础设施中的瓶颈或问题,这些问题可能会影响 可持续性和性能;这样可以促进顺畅、无摩擦的用户旅程。考虑 模拟指标和真实世界指标。使用适当工具,或通过研究和审计,在每个 发布周期中监控性能。
标签
可访问性、兼容性、KPIs、 性能、隐私、报告、研究、安全、社会公平、软件、策略、 UI、可用性
监控用户反馈和真实使用情况,以评估功能有效性,并使用 可用性测试和用户研究来指导持续改进。
监控每项功能的用户反馈、采用情况和流失情况。使用这些洞察来指导更新和 未来版本发布。
在整个产品开发过程中使用可用性测试、真实用户指标和用户访谈。衡量 发现结果的影响,并检查已发布功能是否满足用户需求和内部目标。
标签
可访问性、教育、治理、构思、KPIs、研究、社会公平、策略、UI、可用性
记录兼容性,避免不必要的过时淘汰,并在不同设备、 系统和网络条件下进行测试。
记录受支持的设备、操作系统和浏览器,包括版本范围。定期审查和更新它, 以反映当前版本发布情况。
避免有计划的过时淘汰。在合理可能的情况下,尽可能长久地保持兼容性。清楚说明 更新是可能影响性能的重大变更,还是用于修复问题或改进安全性的小型更新。
针对广泛的用户条件进行测试,包括缓慢、受限或不稳定的连接、虚拟 专用网络(VPN)使用、不同的操作系统 和浏览器,以及较旧或低性能设备。
标签
可访问性、兼容性、KPIs、研究、 安全、社会公平、软件、策略、UI、 可用性
前端和后端的可持续 Web 设计与开发实践通常会与 最佳实践相交,为地球、人类和繁荣共同释放诸多收益。
前端和后端 Web 开发通过提高项目使用资源的效率,为更可持续的 Web 做出贡献。 高效代码会减少不必要的处理和数据传输,从而降低大规模服务的 环境影响。这些改进也会让项目更快、更可靠, 帮助它们在更长时间内保持可用和可维护。因此,可持续 Web 开发 同时支持性能和数字产品的长期可行性。
目标包括:
收益包括:
Web 开发的简明语言摘要:
定义性能和环境目标,并在了解相对能耗和处理成本的基础上 设计内容。
为项目设定明确的性能和环境目标,包括对请求、已渲染元素或其他可衡量 资源使用的限制。
优先采用低影响的设计选择,关注各组件能耗方面可衡量的差异。复杂结构、 样式和脚本驱动的体验,以及图形密集和富媒体渲染,会增加渲染的 计算复杂性。只有在这些更密集的方法能带来明确价值时才使用它们。
标签
KPIs、网络、性能、研究、 社会公平、策略
压缩代码和数据,并移除未使用的字符,以减小文件大小并提高 加载效率和可维护性。
通过移除不必要的空白、注释和非必要字符来压缩代码和数据文件。在整个系统中 一致应用此做法,以减小文件大小并提高加载效率。这有助于在规模化情况下减少 累积数据传输和处理开销,提高资源效率并降低能源消耗。
识别并移除未使用或无效的代码,尤其是 CSS 和 JavaScript 中的代码。
示例
!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(g,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,v=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf
标签
可访问性、CSS、HTML、JavaScript、性能
将大型组件拆分为更小的按需模块,以提高加载效率, 同时平衡可维护性和缓存性能。
将大型或高带宽组件拆分为仅在需要时加载的较小模块。避免过度拆分, 因为这可能会增加开销、降低缓存效率,并使代码更难维护。
示例
link.addEventListener("click", (e) => {
e.preventDefault();
import("/modules/my-module.js")
.then((module) => {
/* Do something */
})
.catch((err) => {
console.error(err.message);
});
});
标签
CSS、JavaScript、性能
通过重构和复用减少代码重复,确保可维护性,并 优先演进现有解决方案,而不是重新构建。
通过改进结构、整合重复逻辑并鼓励复用来重构代码,以减少重复和冗余。
优先改进和扩展现有的面向用户解决方案,而不是从头重建。只有在替换 现有解决方案能为用户体验、性能、可扩展性或可维护性带来明确收益时, 才进行替换。
在有助于提高可维护性时,将 DRY(不要重复自己)原则应用于 CSS 和 JavaScript。 确保减少重复的努力不会增加复杂性、引入不必要的 依赖,或对性能造成不利影响。
示例
.opinions_box {
margin: 0 0 8px 0;
text-align: center;
&__view-more {
text-decoration: underline;
}
&__text-input {
border: 1px solid #ccc;
}
&--is-inactive {
color: gray;
}
}
标签
可访问性、CSS、JavaScript、模式、 性能
通过使用轻量级、由用户控制且仅在需要时加载的集成, 尽量减少并谨慎管理第三方服务。
在设计或构思过程的早期审查第三方内容和/或服务,包括 插件、小部件、信息流、地图、轮播、跟踪脚本和类似组件。尽可能少用, 优先选择轻量级选项,以减少整体环境影响,包括 GHG Protocol Scope 3 排放。确保第三方提供商 执行与第一方相同的合规、安全、隐私、数据保留限制、数据删除政策和 强制安全更新标准。
仅在用户与第三方内容交互时加载它。提供简单替代方案,例如链接到表单, 而不是嵌入小部件。
在实际可行时,从你控制的基础设施提供内容、图标、字体、脚本和 小部件等资源,而不是嵌入或依赖第三方服务来存储或交付它们。 这会减少对外部系统的依赖,提高可靠性,并可减少不必要的网络请求。
尊重用户围绕第三方内容和服务的偏好。提供清晰的控制项,以禁用或选择退出 非必要的第三方功能。
示例
<iframe src="https://example.com" loading="lazy" width="600" height="400"></iframe>
标签
可访问性、JavaScript、性能、隐私、安全、软件、UI、可用性
使用符合标准的 HTML 和 Web 平台特性,并避免不必要的 复杂性或非标准代码。
使用有效且符合标准的标记。
如果移除可选 HTML 元素、属性引号和默认属性不会对可访问性、可读性、 功能或性能产生负面影响,则可以移除它们。当它们能改善可访问性、 在不影响性能的情况下保持清晰,或确保一致的浏览器渲染时,应包含它们。
避免使用已弃用、专有或非标准技术,除非存在明确且合理的需求, 例如遗留兼容性或可访问性。仅在必要时使用 polyfill,并定期审查它们以便移除。
只要标准 HTML 元素、属性、特性和 APIs 能满足需求,就应使用它们。只有在内置 Web 平台 能力无法满足需求,或在构建可复用设计系统组件时,才使用 自定义元素、Web Components 或自定义功能。
示例
<button onclick="window.dialog.showModal();">open dialog</button> <dialog id="dialog"> <p>I'm a dialog.</p> <form method="dialog"> <button>Close</button> </form> </dialog>
标签
可访问性、兼容性、内容、HTML、安全、社会公平、可用性
异步或按优先级加载非必要资源,以提高渲染 性能并避免视觉问题。
异步加载非必要外部资源或延迟加载它们,以避免诸如 无样式内容闪烁(FOUC)、不可见 文本闪烁(FOIT)或伪字体文本闪烁(FOFT)等渲染问题。
当多个资源争用带宽或渲染顺序时,使用资源提示和优先级提示来提高 加载性能。
示例
<link rel="prefetch" href="/articles/" as="document">
标签
可访问性、资源、CSS、JavaScript、 性能
包含必要的文档元数据和结构化数据,以提高可用性、 可访问性和机器可读性。
包含必需的 title 元素,并在可改善可用性、可访问性或性能时添加 可选的 HTML head 元素。
包含浏览器、搜索引擎和其他用户代理广泛使用的相关 meta 标签。
使用结构化数据,例如通过 JSON-LD、microdata、RDFa 或 microformats 实现的 schema.org, 以便人类和机器能够在各种工具和服务中一致解释和复用内容。
示例
<html>
<head>
<title>Example: A website about Examples</title>
<script type="application/ld+json">
{
"@context" : "https://schema.org",
"@type" : "WebSite",
"name" : "Example",
"url" : "https://example.com/"
}
</script>
</head>
<body>
</body>
</html>
标签
可访问性、AI、HTML、营销、可用性
通过用于颜色、动态效果、对比度、数据使用和 相关设置的媒体查询支持用户偏好,以提高可访问性和效率。
使用 CSS 媒体查询(例如 prefers-color-scheme) 适应常见用户偏好。考虑额外的偏好查询,包括 monochrome、prefers-contrast、prefers-reduced-data、prefers-reduced-transparency 和 prefers-reduced-motion,只要这些能使用户受益。若 print 和 scripting 媒体查询 能提高效率或可持续性,也应使用它们。
示例
@media (prefers-color-scheme: dark) {
/* wants dark mode */
}
@media (prefers-color-scheme: light) {
/* wants light mode */
}
标签
可访问性、资源、CSS、UI、可用性
使用响应式、渐进增强和碳感知设计,在管理资源使用的同时, 确保功能在不同设备和交互方法中可访问且可适应。
使用响应式和自适应设计,使产品能在手机、平板电脑、笔记本电脑、 台式机、电视和新兴平台等设备和屏幕尺寸上工作。确保项目在某些功能或 技术不受支持时仍然能够运行。
使用渐进增强来提升可持续性:从 HTML 基线开始,然后 逐步改善用户体验,而核心功能不依赖样式或交互,从而确保项目 稳健且具有韧性。
使用碳感知设计,在电力需求或系统负载较高时减少能源使用。使用 情境化设计,将高影响功能替换、减少或禁用为低影响替代方案。 自动阈值也可调整或禁用非必要功能,前提是变化保持透明。 清楚说明发生了什么变化以及原因,并在可能时允许用户恢复完整功能。
支持可持续的非视觉和间接交互方法,例如辅助技术、语音 输入、QR 码、阅读器视图(浏览器、应用程序或 RSS)以及联网设备。
示例
@media screen and (min-width: 600px) {
body {
color: red;
}
}
标签
可访问性、AI、兼容性、内容、CSS、性能、社会公平、UI、可用性
编写高效的 JavaScript,并使用能尽量减少处理、数据使用和 能源消耗的 APIs。
编写支持长期应用性能的 JavaScript,减少不必要的 计算,限制 DOM 更新,并尽量减少网络请求。
在有助于减少能源使用或提高效率时,利用 JavaScript APIs, 例如 Compression Streams、Page Visibility 或 Vibration。
仅在需要时调用客户端或服务器端 APIs。 确保请求和响应中仅包含完成任务所需的数据。
示例
const audio = document.querySelector("audio");
// Handle page visibility change:
// - If the page is hidden, pause the video
// - If the page is shown, play the video
document.addEventListener("visibilitychange", () => {
if (document.hidden) {
audio.pause();
} else {
audio.play();
}
});
标签
可访问性、JavaScript、隐私、安全
定期审查依赖,移除未使用或不必要的库和框架, 并使所需包保持最新。选择最小化、安全且模块化的解决方案。
定期审查依赖,并移除未使用的库和框架。卸载不需要的包。
将外部库和框架的使用限制在必要范围内,因为这会减少浏览器必须下载和解析的 代码量。尽可能优先使用原生代码。审查包大小,并评估能否导入单个模块 而不是整个库,或能否使用性能更好的替代方案。不要用自定义实现替换成熟且 可信的安全库,因为这会增加漏洞风险,并可能对可持续性产生负面影响。
通过定期审查和维护,使所有依赖保持最新。
示例
npm uninstall <package-name>
标签
可访问性、JavaScript、模式、性能、隐私、安全、软件
包含标准的网站元数据和配置文件,以支持可发现性、 透明度和运营最佳实践。
默认包含 favicon.ico、robots.txt、opensearch.xml、site.webmanifest 和 sitemap.xml。 如果其他默认文件成为标准,也应包含它们。
包含额外的标准文件,例如 ads.txt、carbon.txt、humans.txt 和 security.txt。如果 其他默认文件成为标准,也应包含它们。
示例
下面是一个 robots.txt 格式的文件。
User-agent: * Disallow: /cgi-bin/
标签
可访问性、资源、兼容性、营销、模式、安全、UI
选择轻量、高效的实现方法,在工作量、性能和环境影响之间 取得平衡,同时优先采用简单、原生和静态的解决方案。
选择在工作量、性能和环境影响之间取得平衡的实现方法。更简单的 解决方案可能会降低复杂性和运行时影响,但需要更多人工投入;而预构建 工具可能会减少构建时间和开发工作量,但会增加持续资源使用。
为你的用例使用性能最高的方法。多数情况下,从头编写代码可以获得 性能最好的结果;但如果已有维护良好的解决方案可用,它可能比你自己能 产出的方案优化得更好。优先选择原生组件和文件系统,而不是 WYSIWYG 编辑器、可视化页面构建器或笨重 框架。注意第三方解决方案的性能、维护和环境影响。
尽可能用静态内容替代动态内容。如果需要生成代码,优先选择高效工具, 例如静态站点生成器(SSGs)。要意识到,与静态方法相比, 动态的 CMS 驱动内容通常涉及更多 服务器端处理,并依赖更臃肿的库。
定期审查插件、扩展和主题,以确保它们仍然与平台和其他组件兼容、 高效且可访问。
使用轻量、聚焦且高效的用户界面组件,避免会增加资源使用、 环境影响或维护负担的不必要复杂性。
标签
可访问性、兼容性、构思、性能、隐私、安全、软件、策略
使用最新技术,并为每项任务选择最合适的编程语言, 以确保效率和可维护性。
使用所选语言和框架的最新稳定版本。
为任务使用最佳编程语言,并认识到许多工具和语言针对特定类型的工作进行了 优化。当收益超过成本且存在合理用户基础时,采用新语言或工具的投入是合理的, 前提是这不会影响相关人员的福祉,也不会导致成本过高。
标签
兼容性、性能、安全
通过最小化并限定查询范围、减少重复请求以及应用数据治理实践, 优化数据库使用。
优化数据库查询,通过尽可能少的查询检索所需数据,并在数据库层面而非 应用程序或 ORM 代码中应用过滤和选择,以减少负载, 对频繁访问的数据尤其如此。
每个请求或进程只检索一次数据,并在本地复用它,而不是重复进行数据库 查询。
限定数据库查询的范围,使其只返回所需字段和记录。
应用数据生命周期和治理控制,例如生存时间(TTL)、使用 UUIDs 等非敏感标识符、去标识化,以及 按照目的限制原则最小化存储数据。
示例
下面是 PHP 格式的代码。
$value = get_post_meta( int $post_id, string $key = '', bool $single = false ): mixed
标签
网络、性能
即使是数据也有其“家”。无论你是在开发工具、处理数据、维护在线系统、 运营网站还是做其他事情,有意识地做出能改善托管、 基础设施和系统可持续性的选择,都可能产生巨大影响。
开发运维团队和托管提供商在确保基础设施满足 性能、可靠性和可持续性要求方面发挥关键作用。可持续性取决于 内容、代码和数据在何处以及如何被存储和处理,因为这些选择会影响能源消耗、数据 传输距离和服务器效率。优化基础设施可以减少不必要的计算 负载,并改善用户响应时间,从而促成更高效且对环境更负责任的 项目。
目标包括:
收益包括:
托管、基础设施和系统的简明语言摘要:
使用可持续性指标选择和管理基础设施,在选择时优先考虑低碳 能源使用以及低影响的托管和域名选择,并在管理中延长硬件寿命且 尽量减少排放。
在选择和评估潜在基础设施、托管、云、平台、外部管理内容或其他数字服务时, 纳入可持续性指标。优先选择公开且透明披露其环境政策和相关绩效指标的 提供商,包括电力使用效率(PUE)、水资源 使用效率(WUE)、碳使用效率 (CUE)、可再生能源使用、减排承诺,以及 硬件维护和采购实践。
持续监控并减少所有运行中基础设施的负面环境影响。无论是外部托管还是 自行托管,都应跟踪所有可用的相关指标,例如能源使用、水资源使用和 服务器资源利用率。这包括 CPU/核心、 内存、存储和网络使用。使用这些信息识别低效之处,减少过度配置, 优化资源使用,并支持透明的可持续性报告。
延长硬件寿命。高效并按合适容量使用设备,并保持其安全修补和妥善维护。 新硬件应从承诺设备长寿命、补丁和维修选项的供应商处采购。
使用碳强度尽可能低的电力。托管提供商应使用可用的基于位置的电网数据 测量并报告碳强度,包括现场发电、备用系统和储能。使用这些信息选择 低碳托管提供商,并改进能源采购和基础设施效率。
根据 GHG Protocol(范围 2),使用基于市场的碳核算 来减少间接电力排放中的剩余排放。当通过能源属性证书(EACs)或可再生能源证书(RECs)购买低碳电力时,应确保证书与所用 电力的时间和地点相匹配,识别可再生电力的生成时间,并能够以防止重复计算的 方式有效签发和注销。
核实域名注册的影响是否由域名注册局和注册商披露。在注册商提供环境影响数据时, 使用这些数据为域名注册决策提供依据,并减轻环境影响。在没有此类数据时, 在做出注册决策时评估假定的环境影响,并在可能时做出以可持续性为重点的选择。
标签
AI、电子废弃物、硬件、网络、社会公平
使用缓存和离线能力来减少网络负载、提高韧性,并在 性能与可持续性之间取得平衡。
使用缓存来减少处理时间以及重复的数据库查询、API 调用和网络请求。对动态内容应用 服务器端缓存,对不经常变化的资源应用客户端缓存。控制缓存生命周期, 为稳定资源提供静态版本,并尽量减少频繁使用资源的重复请求,同时平衡 增加的复杂性和维护成本,以改善数据交付方式。
在网络中断期间保持必要内容和功能可用。使用 Web 平台能力提供离线访问, 例如渐进式 Web 应用(PWA)、Service Workers、Web Workers 或本地 存储。
示例
下面是一个 .htaccess 格式的文件。
<IfModule mod_expires.c> ExpiresActive on # Default: Fallback ExpiresDefault "access plus 1 year" # Specific: Assets ExpiresByType image/x-icon "access plus 1 week" ExpiresByType application/rss+xml "access plus 1 hour" ExpiresByType application/json "access" </IfModule>
标签
可访问性、资源、HTML、JavaScript、网络、性能、软件
压缩服务器响应和媒体文件,以减少带宽、存储使用和 交付开销,同时平衡处理成本。
在上传图像、音频和视频之前,通过使用高效格式和质量设置来减小文件大小。 如果文件已经适合上传大小,则避免应用额外压缩。
在上传到任何位置之前,压缩图像、视频和音频等媒体文件,以减少存储和 传输需求。
示例
下面是一个 .htaccess 格式的文件。
<IfModule mod_deflate.c>
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
RequestHeader append Accept-Encoding "zstd, gzip, br, deflate" env=HAVE_Accept-Encoding
</IfModule>
</IfModule>
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE "application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rdf+xml application/rss+xml application/schema+json application/geo+json application/vnd.ms-fontobject application/wasm application/x-font-ttf application/x-javascript application/x-web-app-manifest+json application/xhtml+xml application/xml font/eot font/opentype font/otf font/ttf image/bmp image/svg+xml image/vnd.microsoft.icon image/x-icon text/cache-manifest text/calendar text/css text/html text/javascript text/plain text/markdown text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy text/xml"
</IfModule>
<IfModule mod_mime.c>
AddEncoding gzip svgz
</IfModule>
</IfModule>
标签
资源、网络、性能
提供清晰的错误处理,并确保断开的链接被修复或重定向到 目标位置,以防止导航问题。
实现清晰的错误处理和用户友好的错误页面,解释发生了什么问题,并引导 用户返回内容。
如果断开或过时的链接不再有效,请更新它们。仅当重定向能明确使用户受益或 保留 SEO 价值时才使用它们,并避免长链或 不必要的重定向链。应用相称性原则,确保工程和维护成本不会超过性能或 SEO 收益。测试重定向以防止错误和循环, 并选择最简单有效的方法。
示例
下面是一个 .htaccess 格式的文件。
ErrorDocument 404 /404.html
标签
可访问性、兼容性、内容、营销、网络、UI、可用性
移除不必要的虚拟化环境,以提高效率和可维护性。
只要不会降低所需的安全、隔离或合规保证,就通过停用、离线化或移除未使用 或冗余的虚拟和物理环境(例如容器和虚拟机)来减少活动环境数量。 也应以同样方式评估正在运行的服务。同样,检查未使用分支、环境和服务的 代码库和设置,并移除不再需要的内容。
标签
AI、硬件、网络、性能、软件
高效地自动化和扩展任务与基础设施,仅在需要时运行流程, 并控制不需要的流量。
按照持续集成和持续交付(CI/CD)最佳实践,自动化部署、测试和编译等重复任务, 以减少人工工作并提高一致性。优先选择环境影响较低的自动化工具和平台, 并避免自动化系统的不必要重复。
仅在需要时运行自动化任务,以避免不必要的资源使用。
使用自动扩缩容根据需求调整服务器容量。实现缓冲和节流以管理负载压力。 在高需求期间扩展资源,并在需求下降时缩减资源,以避免过度配置。
使用安全控制限制不需要和不必要的第三方爬虫、用户代理、机器人和抓取器, 同时确保内容仍可供合法用户、搜索引擎以及有益或授权的爬虫访问。 应考虑到某些抓取器可能用于有益目的,包括为大型语言模型提供信息或训练。
标签
可访问性、AI、性能、安全、 软件
基于用户需求和可持续性需求之间的平衡,决定何时刷新数据。
根据用户需求、准确性要求和资源效率定义缓存刷新率,以确定数据何时更新。
标签
JavaScript、网络、性能、可用性
定期备份数据,以确保在发生问题时存在可依赖的故障保护措施。
确保系统和用户数据的备份是安全且增量的,以最小化存储使用并减少 备份时间。限制对备份的访问,并建立机制防止可识别用户的信息被长期存储。 保护备份,防止数据丢失或被滥用。
标签
硬件、性能、安全
使用碳感知调度、高效且安全的协议,以及简单的系统设计, 在平衡性能、安全和约束的同时减少不必要的处理。
使用碳感知计算,根据实时电网碳强度数据,将任务调度或批处理到 碳强度较低的时间运行,或在可能时将工作负载转移到碳强度较低的区域, 从而动态优化工作负载执行,同时尊重安全、性能和数据驻留约束。
选择通过提高效率和减少资源使用来平衡用户需求、安全和可持续性的通信协议。 优先采用 HTTPS 和 SFTP/SSH 等安全选项, 避免使用 HTTP 和 FTP 等不安全的遗留协议,并采用 HTTP/2 或 HTTP/3 等现代标准,以获得更好的性能和更低的网络 开销。仅在必要时保持向后兼容。
在构建具有状态变化且不需要完整页面刷新的产品时,使用事件驱动架构和 微服务。在基于性能、功率和处理因素判断其相比 REST 风格同步 APIs 更节能时,优先采用这些方案,并选择能在 满足需求的同时减少服务器工作负载和环境影响的方法。
避免不必要的数据处理。根据性能、安全、可持续性指标和资源使用, 谨慎决定处理应发生在客户端还是服务器端。
在应用程序各层之间执行数据转换、传输和处理时,应尽可能靠近源头。 这可以减少不必要的序列化开销,并避免浪费资源。
标签
AI、JavaScript、网络、性能
针对静态内容和处理,有策略地使用 CDNs 和数据位置, 仅在它们能提高效率和可持续性时使用,同时避免不必要的分发和传输。
仅在能提供明确收益时,为静态内容、资源和其他只读资源使用内容分发网络 (CDN),并结合更广泛的 Web 托管选择, 逐案评估性能改进和环境影响。当服务对象完全是本地受众时,评估是否有必要使用 CDN,并优先选择地理位置接近的托管。
选择能够展示可信、基于证据的 Web 可持续性承诺的 CDN 提供商。
避免将动态或频繁变化的资源部署到 CDN,因为缓存分区和跨源资源共享(CORS) 等浏览器机制可能限制缓存收益和交互性能,降低资源效率,而变通方法可能 引入安全或隐私风险。
标签
可访问性、AI、内容、硬件、 网络、性能
使用与需求匹配、可自动扩缩容的基础设施,以高效满足需求而不 过度配置。
选择满足你的需求和客户协议且不会过度配置的基础设施。在需求允许时,优先选择 独立实例,而不是多区域或分布式设置。按平均负载而非峰值负载进行配置, 以确保资源高效使用。
标签
电子废弃物、硬件、性能
使用保留、压缩和生命周期政策,定期管理并减少存储的数据 (包括内容、日志、媒体和下载),同时保持对长期资源的高效访问。
定期移除未使用或过时的数据(“暗数据”),以减少存储和能源成本,并管理数据 是否以及存储多久。
使用分类和标记政策来定义和管理数据生命周期规则,包括保留、过期和归档。
仅在数据具有持久的运营、分析或法律价值,且无法轻易重新生成或替换时才 存储数据。当它变得过时时,将其移除或归档。避免不必要的重复,并使用 压缩、缓存和存储优化技术等高效存储实践。
通过定期轮换、保留、压缩和备份实践管理日志,包括在实际可行时将 资源密集型操作安排在低活动时段,以减少能源需求和运营开销。在恢复能力或 复原需要时,使用包括异地存储在内的弹性备份策略,并尽可能从日志中移除 敏感信息,以最小化安全和隐私风险。
使大型长期资源易于下载,这样用户就不需要重复向服务器发出请求。
标签
可访问性、内容、电子废弃物、硬件、性能、隐私
为更好的可持续性而设计网站和应用程序,需要良好的商业战略和 产品管理。
任何负责网站或应用程序的人都可以影响其环境影响。企业主和 高级决策者通常负责战略选择,这些选择会塑造服务的构建、 交付和维护方式,包括基础设施投资、性能优先级和长期 产品方向。不过,所有从事数字产品工作的人都可以通过日常 决策做出贡献,提高效率并减少不必要的资源使用。这些努力也与更广泛的 组织实践相连,这些实践会影响项目的 Web 可持续性。
目标包括:
收益包括:
商业战略和产品管理的简明语言摘要:
围绕伦理、可持续性和负责任的数据使用实施组织实践。 发布并维护能够证明其实施情况的政策。
制定、发布并维护关键组织政策,例如伦理准则、产品指南、可访问性声明和 可持续性声明。为数字产品、服务以及新兴或颠覆性技术(例如 AI)纳入清晰表述。使这些政策可公开访问,并保留 版本记录以提高透明度。
在专门的可持续性栏目中发布与 Web 可持续性相关的成就、特性、合规更新和其他 相关信息。
提供证据,证明可持续性政策和实践正在被积极实施、监控,并随时间持续治理。
倡导并遵守基于证据的法律和标准,以推进数字隐私、就业权利、透明度、 问责制、负责任的新兴技术和数字可持续性。同时努力超越最低预期,尤其是在 避免不必要的数据收集方面,以在符合可访问性和数据保护要求的同时,保持 高效且可访问的用户旅程。
标签
可访问性、AI、教育、构思、KPIs、隐私、研究、安全、社会 公平、策略
任命一名可持续性倡导者,并为其提供围绕可持续性相关问题 发声和代表发声所需的条件。
通过任命具有特定数字专业知识的可持续性负责人,为数字可持续性分配明确责任, 并为其提供实现既定目标所需的资源、预算、工具和时间。在某些组织中, 将其扩展为由积极个人组成的气候工作组,可以带来进一步收益。
标签
可访问性、教育、构思、营销、隐私、社会公平
提供关于可持续性实践的持续培训、入职培训和指导,并通过清晰材料、 知识共享和组织鼓励,支持参与可持续性倡议。
为与你的项目相关的所有人制作、提供和/或促进入职材料与研讨会的交付, 包括内部团队、外部贡献者、同事和组织决策者。包括关于一般气候素养和 数字气候素养的教育,以及关于你自身可持续技术政策的指导。
通过支持团队实现可持续性目标的持续学习机会,提供积极且常规的培训,以发展、 建立并刷新可持续性技能。
鼓励个人减少其环境影响。分享气候和可持续倡议与想法。提供关于可持续设计、 最佳实践和概念的资源。
创建和/或交付专门的培训手册、研讨会和材料,以概述已采用的可持续性 政策与实践,以及如何实施它们。随时间管理和维护这些材料,并在新政策和 最佳实践出现时进行调整。
通过认可完成情况、为可持续性相关活动分配时间,以及提供激励和福利, 鼓励领导层、团队和个人朝其培训目标取得进展。
标签
内容、教育、营销、报告
赋能用户,让他们在其选择能够影响自身环境影响时做出决策。
向用户展示其行为如何影响能源使用、排放或资源消耗,并提供帮助他们做出 更明智选择的选项。
标签
内容、教育、营销、报告
评估并比较完整生命周期环境影响,包括第三方服务的影响, 以为可持续设计决策提供依据。
开展生命周期评估(LCA),以了解每个功能单元 ——被评估产品或服务的一个定义明确的度量——的环境影响,包括生命周期温室气体 (GHG)排放,以及整个项目生命周期中的其他相关 环境影响。
将你的项目与可比替代方案进行环境影响评估,以为决策目标提供依据。确定项目的 额外价值或可持续性收益是否足以证明其环境影响是合理的。
纳入你的流水线任何阶段所使用的任何工具或第三方解决方案的影响或估计影响。 虽然它们并非由你创建,但其在生产、维护和使用过程中产生的排放也是你的 整体解决方案不可分割的一部分。
标签
可访问性、AI、构思、KPIs、研究、社会公平、软件、 策略
定义可衡量的可持续性目标和指标,并随时间传达进展。
定义并发布清晰的 Web 可持续性目标。识别可衡量的性能指标,并传达相对于这些 目标的进展,使人们能够理解和评估可持续性表现。
标签
AI、治理、构思、KPIs、研究、社会公平
使用独立验证来支持并改进可持续性声明。
使用独立第三方验证或保证来确认可持续性声明。
随时间重新评估可持续性声明,并在新证据影响其准确性时进行更新。
标签
治理、KPIs
发布透明且符合标准的可持续性报告,跟踪随时间变化的进展, 并清楚解释真实影响的减少情况,同时避免误导性报告。
创建并发布用于披露数字产品、项目和服务的环境、社会与治理影响的政策和实践, 并使其符合公认标准。
至少每年发布一份公开的可持续性影响报告,包括相对于以往报告和 Web 可持续性 目标的进展。
为数字产品和 Web 服务的排放以及环境、社会与治理影响创建并维护透明的 报告实践。
清楚解释环境、社会与治理影响如何被减少,同时避免重复计算、洗绿、排除数据或 选择性报告等误导性做法。
标签
AI、内容、KPIs、报告
描述收入生成如何支持环境和社会成果。
记录组织如何产生收入,以及这些收入流如何与环境和社会影响相关。描述如何衡量、 审查并随时间改进影响。
标签
内容、构思、研究、策略
为长期产品支持维护清晰的文档、资源配置和衡量实践,包括安全、 可持续性和故障风险的早期检测。
制作并维护文档,概述组织如何开展产品管理和维护。
为所有数字产品和服务制定、实施并维护维护计划和安全计划,优先考虑长期 可持续性、能源效率,以及整个产品生命周期中的负责任资源使用。
确保产品、原型、测试和支持流程随时间获得充足资源。保持足够的人员配置和 预算来支持持续维护,包括处理技术债务、重构和演进功能,而不放弃项目。
在维护过程中纳入碳和资源衡量,并随时间跟踪改进。优先采用能够反映所交付 核心价值和可持续性成果的指标。避免会激励不必要工作、资源消耗或排放的指标。
识别并记录关键失败指标(KFIs),包括与可访问性、 可用性以及其他环境、社会和治理影响相关的指标。监控 KFIs 以发现新兴风险并为纠正行动提供依据。
标签
可访问性、兼容性、安全、策略
维护持续改进流程,在用户价值和可持续性成果之间平衡 功能变更、维护和更新。
嵌入持续改进实践,清楚报告正在改变什么、为什么改变,以及它是否改善环境 可持续性成果。确保环境和其他 ESG 影响与运营和业务绩效指标一起评估。
审查交付物并频繁更新,以确保项目团队有足够时间开展用户研究、识别并消除 技术债务,以及产出高质量成果并分享所学内容。
展示用于分析数字产品或服务的持续改进(迭代)流程记录。同时处理持续实验可能带来的 后果,例如技术债务、产品性能和排放。将分析限制为有助于决策、鼓励用户反馈, 以及将性能与组织目标和用户需求进行比较的严格必要功能。
在整个产品生命周期中定期审查所有功能。根据环境影响、用户价值、使用情况和 维护成本,对保留、变更、添加或移除功能的决策进行论证并确定优先级。 这包括停用未使用或低流量的功能和内容。
标签
可访问性、AI、兼容性、KPIs、性能、隐私、安全、 策略、UI
在功能发生变化时提供文档,帮助用户找到方向。
当功能被添加、变更或移除时,提供清晰且结构化的文档。使用一致的版本控制或 变更跟踪系统来传达变更的性质和影响。
示例
下面是一个 change.log 纯文本文件。
# Changelog - Website ## [Unreleased] - N/A ## 1.0.0 - YYYY-MM-DD ### Added - Content. ## [Guide] - Added: New features. - Changed: Altered functionality. - Deprecated: Disappearing features. - Removed: Eliminated features. - Fixed: Bugs patched. - Security: Solved vulnerabilities.
标签
兼容性、内容、教育、安全、可用性
评估与可持续性目标的一致性,验证产品需求,并减少访问、 可用性和公平性方面的障碍。
识别产品或服务是否与任何相关联合国可持续发展目标 (U.N.(SDG) 一致,并在适用时将相应目标纳入可持续性声明。
基于可取性、可行性和可存续性,评估产品或服务是否被需要。
移除或减少阻碍人们使用产品或服务的障碍,包括可访问性、技术、地理和公平性 相关障碍。
标签
可访问性、AI、电子废弃物、构思、报告、 软件
基于可持续性原则选择并与供应商合作,衡量其影响,并透明地发布 伙伴关系成果。
在供应链伙伴选择和治理中应用可持续性原则,并由用于审查和评估潜在伙伴的 清晰政策提供支持。
与供应商合作,创建、跟踪并衡量对受影响方的影响。
在公开可访问的位置推广并披露伙伴关系,并附上关于该伙伴关系如何创造集体影响的 信息。
标签
AI、内容、治理、硬件、构思、 社会公平
发布并践行多样性、公平、正义、包容(DEIJ)和可访问性承诺, 支持培训和可衡量进展,并确保产品和运营中的包容性成果。
发布清晰的 DEIJ 承诺。说明组织如何应用这些承诺来减少排斥,并支持不同群体、 服务不足或边缘化社区长期可持续地访问产品。
提供 DEIJ 培训,以及算法偏见、数字鸿沟、就业公平、错误信息和虚假信息等主题。
跟踪并发布 DEIJ 在招聘、领导层和运营方面的可衡量进展。
标签
可访问性、构思、社会公平、策略
尊重用户数据权利,并通过最小化收集、用户控制、可移植性、删除和 内容归档来管理数据生命周期。
以通俗语言和可访问格式维护可公开访问的隐私、法律和政策文档。遵循与公认 国际标准一致的强数据保护实践,在用户风险较高或保障不足时应用更强保护, 并通过透明的数据使用和治理,支持隐私、可访问性和可持续性方面的良好实践。
尊重用户数据权利,包括访问、更正、删除、选择退出和数据可移植性。 提供清晰的用户控制项来管理账户、数据和订阅。只为定义明确的目的收集和保留 个人数据,并且保留时间不得超过必要范围。以开放且常用的格式提供数据导出。 确保删除和同意变更在合理时间范围内应用于所有系统,包括数据库、派生数据集、 备份和缓存。
通过自动到期日期和定期产品审计,归档和删除过时或已过期的产品内容和数据。 发布归档时间表,并确保为可能需要旧可搜索内容的人维护其轻量版本。
标签
AI、内容、治理、隐私、安全、 社会公平、策略
通过仅使用来源合乎伦理且规模适当的数据和模型、管理环境影响、 支持劳动力适应、尊重用户代理控制,并仅在有正当理由时使用后量子加密,确保 自动化系统的负责任使用。
确保自动化系统使用、创建或引用的数据集不超过任务所需规模,并以合乎伦理的方式 获取、筛查、验证、存储和使用,且公平、非歧视、负责任。
支持员工适应可能改变或颠覆其角色或组织运营的新技术。
审计并核算与推广或采用 AI 以及新兴或颠覆性技术相关的环境影响。这包括 第三方系统以及每次使用产生的废弃物、水和排放,也包括初始部署和更新所导致的 影响。优先考虑效率,并以尽量减少环境影响的方式进行部署。
确保机器人、爬虫、用户代理、抓取器、人工智能以及所有其他自动化工具尊重主机、 服务器和站点级别的选择退出信号。提供者必须在 HTTP 标头中的用户代理里声明自己为非人类。
仅在确有需要防范“现在收集,未来解密”攻击和长期数据机密性风险时,才使用 后量子加密。应将其视为对现有加密方法的补充,而不是替代,并在任何过渡期间 同时使用两者。在高流量服务中采用后量子加密时应谨慎,因为带宽消耗、处理需求、 设计复杂性和迁移风险可能超过安全收益。
标签
可访问性、AI、内容、电子废弃物、治理、 硬件、网络、性能、隐私、安全、社会公平、软件
通过撤出高碳资产,并使预算和财务伙伴关系与长期可持续性保持一致, 采用负责任的融资实践。
从化石燃料撤资,并将包括银行和赞助在内的财务关系转向更可持续的伙伴。
使用支持长期维护和环境责任的负责任预算与融资实践。
标签
治理、构思、社会公平
使伙伴关系和企业捐赠与组织宗旨保持一致,并通过清晰的伙伴关系和 捐赠政策,支持有助于技能建设的志愿和公益工作。
创建企业捐赠政策,并与战略上保持一致的组织建立慈善伙伴关系。
支持有助于团队学习并惠及非营利和慈善组织的志愿和公益工作。
标签
内容、治理、社会公平
记录项目何时关闭,并让用户了解其数据将会发生什么。
提供清晰、成文的生命周期终止指南,其中包括数据处置、归档、文件删除和其他相关 指导。
标签
兼容性、电子废弃物、隐私、研究、安全、社会公平、软件、策略
通过认证服务,优先维修、复用、翻新和负责任地回收硬件与 电子废弃物,包括支持用户进行维修。
回收、维修或升级再造不需要的硬件和材料。在可能时回收、重新部署并复用组件, 并以可持续方式处置剩余材料。使用认证维修和回收服务,负责任地处理生命周期 终止的数字设备和运营性电子废弃物。服务提供商应维护一项清晰的负责任 电子废弃物管理政策。
维护维修和回收硬件的政策,并鼓励维修。
在购买新设备之前,优先复用、翻新和重新部署现有硬件。
尽最大可能允许用户维修已购买产品,在可能时按成本价提供替换零件,并提供清晰说明, 帮助在故障发生时进行修复。
标签
内容、电子废弃物、治理、硬件、构思、社会公平
定义并应用生命周期可持续性和性能预算,设置基于证据的 KPIs,并随时间跟踪可衡量的改进。
概述并记录涵盖产品和服务完整生命周期的数字可持续性预算标准,包括创建、使用和 退役。确保这些限制被积极应用,并传达给所有受影响方。
使用性能预算来限制数字产品或服务的大小和复杂性,主动减少数据传输和文件大小, 以提高性能并创建更可持续、影响更低的数字体验。
为工程投入、开发时间或冲刺定义 KPIs。 以可持续方式优化工作流,使工作得到谨慎完成,同时优先考虑工作者健康、福祉和 可持续的工作负载。
建立基线测量,并随时间跟踪改进。要求改进声明由证据支持。
示例
下面是一个 JSON 格式的文件。
[
{
"resourceSizes": [],
"timings": [
{
"metric": "largest-contentful-paint",
"budget": 2500
},
{
"metric": "max-potential-fid",
"budget": 100
},
{
"metric": "cumulative-layout-shift",
"budget": 0.1
}
]
}
]
标签
可访问性、构思、KPIs、性能、 研究、可用性
定义并维护开源政策,并通过代码、时间以及财务或实物支持, 积极为开源社区做出贡献。
定义并维护可持续使用和贡献开源工具的流程,包括选择、审批和发布工作流, 这些流程应优先考虑复用、减少重复,并支持长期可维护性。
与开源生态系统协作,在开源原则基础上支持可持续软件开发,并通过代码、时间或 财务支持定期为社区项目做出贡献,以改进共享维护、复用,并减少重复劳动。
标签
可访问性、资源、构思、社会公平、软件、UI
维护经过测试的事件响应计划,并就服务问题、风险和恢复情况 与用户进行透明沟通。
创建、维护、定期审查并测试事件响应计划,以确定准备情况,并确保系统和服务能够 从任何事件中快速恢复。
就事件、服务问题以及任何数据或可用性风险,与用户进行透明沟通。
标签
AI、治理、安全、策略
本规范中由兴趣组识别出可能对可访问性、隐私或安全具有影响的指南列于 下方,这些影响可能是通过为最终用户提供保护,也可能是网站提供者在实现旨在 落实数字可持续性的功能时需要考虑的重要事项。本列表反映了兴趣组当前的理解,但 其他指南也可能具有兴趣组在发布时尚未意识到的影响。
希望更多了解与这些目标相关最佳实践的个人或组织,应阅读由 W3C 工作组和兴趣组在该领域提供的相关材料,因为 良好的可访问性、国际化、隐私和安全所产生的结果,可以以可衡量的方式惠及地球、人类 和繁荣。
值得注意的是,从事可访问性、国际化、隐私和安全工作的群组可能会 在其工作中识别可持续性影响,并在适当时提供相关指导,说明限制这些问题范围的 最佳实践。任何此类指导都应被视为对 WSG 所提供指导的补充。
注:漂绿 应作为一项 考量被严肃对待,因为误述社会影响可能会削弱数字包容、安全和隐私。 此外,这些风险和影响本身也可能被利用为造成环境或更广泛 社会伤害的向量。
本规范中可能与 可访问性相关的指南包括:
本规范中可能与 隐私相关的指南包括:
本规范中可能与 安全相关的指南包括:
Web 可访问性(在 包容性设计语境中)意味着网站、工具和技术的设计与开发,使残障人士 (以及非残障人士)都能无障碍地使用它们。
可访问性障碍的类型可以包括听觉、认知、神经、身体、 言语和视觉障碍。它们也可以是永久性的、临时性的或情境性的(取决于 情况)。
地球、人类和繁荣(PPP)是一组 原则,建议在可持续性过程中考虑这些因素中的每一项。
这种考虑地球、人类和繁荣的方法,也以具有类似目标的其他缩写形式为人所知, 例如环境、社会和(公司)治理(ESG),它同时考虑经济因素; 还有遵循类似模式的环境、公平和经济(EEE)。
用于提供信息,不是一致性所必需。
被标识为“资料性”或“非规范性”的内容,永远不是一致性所必需的。
一致性所必需。
有关参与可持续 Web 兴趣组的更多信息,可在该兴趣组的 GitHub 仓库中找到。
Adam Newman, Addison Phillips, Alexander Dawson, Alisa Bonsignore, Andrea Davanzo, Andrew Wright, Andy Blum, Anne Faubry, Arnaud Levy, Barry Pollard, Ben Clifford, Berwyn Powell, Bhavani Shankar Garikapati, Brett Tackaberry, Brian Louis Ramirez, Brian Kardell, Chris Adams, Chris Augier, Chris Butterworth, Chris Lilley, Chris Needham, Chris Sater, Chris Wilson, Christian H Brown, Claire Thornewill, Crystal Preston-Watson, Daniel Appelquist, David Jeanmonod, Denis Roio, Dennis Lemm, Diogo Abrantes Da Silva, Dominique Hazael-Massieux, Dom Robinson, Elika Etemad, Eloisa Guerrero, Emily Trotter, Emma Horrell, Fershad Irani, Florian Rivoal, Francesco Fullone, François Burra, Gaël Duez, Glenda Sims, Hannah Smith, Hidde de Vries, Iain McClenaghan, Ian Jacobs, Ines Akrap, Ismael Velasco, Iulia Raluca Ionita, James Christie, Jeffrey Yasskin, Jennifer Strickland, Jens Oliver Meiert, Jeroen Hulscher, Jim McCool, Josh Kim, Julien Wilhelm, Kazuhito Kidachi, Kenneth G. Franqueiro, Laurent Devernay Satyagraha, Len Dierickx, Leon Brocard, Lewis Halstead, Łukasz Mastalerz, Marie Ototoi, Michelle Barker, Mike Gifford, Morgan Murrah, Nahuai Badiola, Neil Clark, Nick Doty, Nick Lewis, Nicola Bonotto, Nigel Megitt, Oliver Winks, Orie Steele, Owen Barton, Owen Rogers, Peter Krautzberger, Philippe Le Hégaret, Richard Ishida, Romuald Priol, Rose Newell, Rudolf Van Der Berg, Ryan Sholin, Sandy Dähnert, Sarah Zama, Sarven Capadisli, Shane Herath, Siddhesh Wagle, Simon Perdrisat, Simone Onofri, Sorca Duffy, Susannah Hill, Tantek Çelik, Tej Kalianda, Theresa O'Connor, Thibaud Colas, Thorsten Jonas, Tim Frick, Tzviya Siegman, Youen Chéné, Yuna Orsini, Zoe Lopez-Latorre.
Aiste Rugeviciute, Alekh Gupta, Alicia Pritchett, Anthony Vallée-Dubois, Antoine Abélard, Asim Hussain, Bee Flaherty, Boris Schapira, Brian Sharpe, Carine Bournez, Christophe Clouzeau, Christos Bacharakis, Danielle Subject, Denis Didier, Edward Bender, Elise West, Florence Maurice, Gerry McGovern, Greg McDonald, Ignacio Rondini, Ivano Malavolta, James Cannings, James Gallagher, Jan Henckens, Jean Rigotti, Jon Gibbins, Juan Sotés, Julien Robitaille, Kate Mroczkowski, Katya Dreyer-Oren, Kimi Wei, Laila Tamani, Leah Goldfarb, Lenchi Danch, Loren Velasquez, Louise Towler, Luciene Bulhões Mattos, Luis Tiago, Manfred Jurgovsky, Marie Koesnodihardjo, Mark Butcher, Marketa Benisek, Mert Altinöz, Michelle Sanver, Moritz Guth, Nicholas Oliveira, Nick Oliveira, Nick Sollecito, Nicolas Lanthemann, Nicolas Oren, Patrick Hypscher, Pietro Jarre, Radu Micu, Rafael Lebre, Rebecca Brocton, Rick Butterfield, Rick Viscomi, Robin Whittleton, Samuel Pitoňák, Sandra Pallier, Sebastien Solere, Sylvain Tenier, Thierry Leboucq, Thomas Alexander Munch-Woolff, Tom Greenwood, Tom Howells, Torsten Beyer, Tristan Nitot, Yelle Lieder, Youcef Bekhti.
注意,此变更日志仅标识 自 2024 年 12 月 6 日最终草案社区 组报告以来的实质性变更。
有关所有已处理议题的列表,请参阅兴趣组 和原社区 组议题跟踪器。
新增:
更新:
修复:
新增:
更新:
修复:
新增:
更新:
修复:
新增:
更新:
修复:
新增:
更新:
修复:
如果你发现任何新错误,或有新的内容或想法要纳入,请提交议题。