Independent Submission W. Hackett Internet-Draft January 2026 Intended status: Standards Track Expires: 16 July 2026 Unified Rendering of Email Standard (URES) draft-hackett-ures-00 Abstract This document specifies requirements for the uniform rendering of HTML email content across mail user agents (MUAs). It addresses critical inconsistencies in how email clients interpret HTML and CSS, including dark mode adaptation, embedded asset handling, positioning constraints, and secure SVG rendering. The specification aims to eliminate the current fragmentation in email rendering while maintaining backwards compatibility with existing MIME standards (RFCs 2045-2049) and the Internet Message Format (RFC 5322). Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on 5 July 2026. Copyright Notice Copyright (c) 2026 IETF Trust and the persons identified as the document authors. All rights reserved. Hackett Expires 16 July 2026 [Page 1] Internet-Draft URES January 2026 This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/ license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Background . . . . . . . . . . . . . . . . . . . . . . . 3 1.2. Problem Statement . . . . . . . . . . . . . . . . . . . . 4 1.3. Requirements Language . . . . . . . . . . . . . . . . . . 5 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 3. Document Structure Requirements . . . . . . . . . . . . . . . 6 3.1. HTML Version . . . . . . . . . . . . . . . . . . . . . . 6 3.2. Required Document Structure . . . . . . . . . . . . . . . 6 3.3. Style Placement . . . . . . . . . . . . . . . . . . . . . 7 4. CSS Support Requirements . . . . . . . . . . . . . . . . . . 8 4.1. MUST Support Properties . . . . . . . . . . . . . . . . . 8 4.1.1. Box Model Properties . . . . . . . . . . . . . . . . 8 4.1.2. Typography Properties . . . . . . . . . . . . . . . . 8 4.1.3. Colour and Background Properties . . . . . . . . . . 8 4.1.4. Layout Properties . . . . . . . . . . . . . . . . . . 8 4.1.5. CSS Selectors . . . . . . . . . . . . . . . . . . . . 9 4.2. Positioning Constraints . . . . . . . . . . . . . . . . . 9 4.2.1. Permitted Values . . . . . . . . . . . . . . . . . . 9 4.2.2. Prohibited Values in Web Clients . . . . . . . . . . 9 4.3. z-index Handling . . . . . . . . . . . . . . . . . . . . 10 4.3.1. Stacking Context Isolation . . . . . . . . . . . . . 10 4.3.2. Maximum z-index . . . . . . . . . . . . . . . . . . . 10 4.4. Flexbox . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.5. CSS Grid (SHOULD Support) . . . . . . . . . . . . . . . . 10 5. Dark Mode Adaptation . . . . . . . . . . . . . . . . . . . . 11 5.1. Colour Scheme Meta Tag . . . . . . . . . . . . . . . . . 11 5.2. Media Query Support . . . . . . . . . . . . . . . . . . . 11 5.3. Colour Inversion Rules . . . . . . . . . . . . . . . . . 12 5.3.1. Inversion Pairing . . . . . . . . . . . . . . . . . . 12 5.3.2. Contrast Preservation . . . . . . . . . . . . . . . . 12 6. Image and Asset Handling . . . . . . . . . . . . . . . . . . 12 6.1. Inline Base64 Images . . . . . . . . . . . . . . . . . . 12 6.1.1. Syntax . . . . . . . . . . . . . . . . . . . . . . . 12 6.1.2. Required Support . . . . . . . . . . . . . . . . . . 12 6.1.3. Size Limits . . . . . . . . . . . . . . . . . . . . . 13 6.1.4. Rendering Behaviour . . . . . . . . . . . . . . . . . 13 6.2. CID (Content-ID) Images . . . . . . . . . . . . . . . . . 13 Hackett Expires 16 July 2026 [Page 2] Internet-Draft URES January 2026 6.2.1. Syntax . . . . . . . . . . . . . . . . . . . . . . . 13 6.2.2. Required Behaviour . . . . . . . . . . . . . . . . . 14 7. SVG Rendering . . . . . . . . . . . . . . . . . . . . . . . . 14 7.1. Executive-Safe SVG Profile . . . . . . . . . . . . . . . 14 7.2. Prohibited SVG Elements . . . . . . . . . . . . . . . . . 15 7.2.1. Script and Event Handlers . . . . . . . . . . . . . . 15 7.2.2. External References . . . . . . . . . . . . . . . . . 15 8. Security Considerations . . . . . . . . . . . . . . . . . . . 15 8.1. Script Execution . . . . . . . . . . . . . . . . . . . . 15 8.1.1. Prohibited Elements . . . . . . . . . . . . . . . . . 15 8.1.2. Prohibited Attributes . . . . . . . . . . . . . . . . 16 8.1.3. JavaScript URLs . . . . . . . . . . . . . . . . . . . 16 8.2. Positioning Attack Prevention . . . . . . . . . . . . . . 16 8.2.1. Fixed Position Blocking . . . . . . . . . . . . . . . 16 8.2.2. z-index Sandboxing . . . . . . . . . . . . . . . . . 16 8.3. Tracking Prevention . . . . . . . . . . . . . . . . . . . 16 8.3.1. Pixel Tracking . . . . . . . . . . . . . . . . . . . 17 8.3.2. Inline Content as Alternative . . . . . . . . . . . . 17 9. Accessibility . . . . . . . . . . . . . . . . . . . . . . . . 17 9.1. Semantic HTML . . . . . . . . . . . . . . . . . . . . . . 17 9.2. Alternative Text . . . . . . . . . . . . . . . . . . . . 17 9.3. Colour Contrast . . . . . . . . . . . . . . . . . . . . . 18 10. Conformance Levels . . . . . . . . . . . . . . . . . . . . . 18 10.1. URES Level 1 (Baseline) . . . . . . . . . . . . . . . . 18 10.2. URES Level 2 (Enhanced) . . . . . . . . . . . . . . . . 18 10.3. URES Level 3 (Full) . . . . . . . . . . . . . . . . . . 19 11. Adoption Considerations . . . . . . . . . . . . . . . . . . . 19 11.1. Open Source Reference Implementations . . . . . . . . . 19 11.2. Precedent for Community-Driven Adoption . . . . . . . . 20 11.3. Incremental Adoption Path . . . . . . . . . . . . . . . 20 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 21 13.1. Normative References . . . . . . . . . . . . . . . . . . 21 13.2. Informative References . . . . . . . . . . . . . . . . . 22 Appendix A. Known Client Inconsistencies . . . . . . . . . . . . 22 A.1. CSS Support Matrix (Selected Properties) . . . . . . . . 23 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 23 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 23 1. Introduction 1.1. Background Email remains one of the most critical communication channels for both personal and business communications. Despite decades of development, the rendering of HTML email content remains frustratingly inconsistent across mail user agents (MUAs). Hackett Expires 16 July 2026 [Page 3] Internet-Draft URES January 2026 The current standards landscape is fragmented: * RFC 5322 [RFC5322] defines the Internet Message Format, specifying header fields and basic body structure. * RFCs 2045-2049 [RFC2045] define MIME, enabling multi-part messages with various content types including text/html. * The W3C maintains HTML and CSS specifications, but these are designed for web browsers, not email clients. * No RFC or standard body governs how email clients SHOULD or MUST render HTML and CSS content. This gap has resulted in a situation where email developers must maintain extensive compatibility matrices, use archaic techniques such as table-based layouts, and accept that their carefully crafted emails will appear differently—or broken—across different clients. 1.2. Problem Statement The following critical issues plague current email rendering: 1. *CSS Support Inconsistency:* Properties universally supported in browsers (flexbox, grid, CSS variables) have zero or partial support in major email clients. Gmail strips style tags in non- AMP contexts. Outlook uses Microsoft Word's rendering engine. 2. *Dark Mode Chaos:* Email clients implement dark mode adaptation differently. Some invert all colours, some honour author preferences, some do nothing. Text becomes illegible when foreground colours are inverted but backgrounds are not. 3. *Image Handling:* Base64 inline images are blocked by many clients citing size concerns. CID attachments render inconsistently. Remote images enable tracking and are blocked by default. 4. *SVG Non-Support:* Most email clients strip or fail to render SVG entirely, despite it being a W3C standard since 2001. Executives receive emails with missing logos and charts. 5. *Positioning Attacks:* In web-based clients (Gmail, Outlook.com), malicious use of position:fixed or high z-index values could overlay phishing content atop the webmail UI. Hackett Expires 16 July 2026 [Page 4] Internet-Draft URES January 2026 6. *Layout Primitives:* Modern CSS layout (flexbox, grid) is unsupported in Outlook desktop, forcing continued use of nested HTML tables—a technique deprecated in web development since 2010. 7. *Font Rendering:* @font-face and web fonts work in approximately 40% of email clients, with no fallback standardisation. 8. *Media Queries:* Support for responsive design via @media queries is inconsistent, with Gmail notably stripping them entirely. 1.3. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. 2. Terminology Mail User Agent (MUA) An application that accesses email on behalf of a user. This includes desktop applications (Apple Mail, Outlook, Thunderbird), web-based clients (Gmail, Outlook.com, Yahoo Mail), and mobile applications (iOS Mail, Gmail app). Rendering Engine The component of an MUA responsible for interpreting and displaying HTML/CSS content. Some MUAs use web browser engines (WebKit, Blink), others use proprietary engines (Microsoft Word in Outlook desktop). Dark Mode A display preference where the UI uses a dark background with light text. Email clients may automatically adapt email content to match this preference. Colour Scheme The light or dark preference indicated by the email author or inferred by the email client. Inline Image An image embedded directly in the HTML using a data: URI with base64 encoding, or referenced via Content-ID (CID). Executive-Safe Content that renders correctly in email clients commonly used by business executives, particularly Outlook desktop, Apple Mail, and Gmail. Stacking Context A three-dimensional conceptualisation of HTML elements along an imaginary z-axis relative to the user. Elements with z-index values form stacking contexts. Hackett Expires 16 July 2026 [Page 5] Internet-Draft URES January 2026 Content Isolation The practice of preventing email content from affecting or overlaying the host application's user interface. 3. Document Structure Requirements 3.1. HTML Version Conforming MUAs MUST support HTML5 document structure as defined in [HTML5]. The following DOCTYPE declaration MUST be recognised: MUAs MUST also accept and render documents using XHTML and HTML4 doctypes for backwards compatibility. However, email authors SHOULD use HTML5. MUAs MUST NOT require an XML declaration for HTML email content. 3.2. Required Document Structure MUAs MUST correctly parse and render the following minimal document structure: Hackett Expires 16 July 2026 [Page 6] Internet-Draft URES January 2026 Email Subject MUAs MUST preserve the html element's lang attribute and make it available to accessibility tools. MUAs MUST parse and apply the viewport meta tag for responsive rendering on mobile devices. MUAs supporting Microsoft Office conditional comments SHOULD interpret 8. Security Considerations Email is a primary vector for phishing, malware distribution and social engineering attacks. MUAs MUST implement robust security measures while rendering HTML content. 8.1. Script Execution MUAs MUST NOT execute JavaScript or any other scripting language in email content. 8.1.1. Prohibited Elements The following elements MUST be stripped or rendered inert: * script element * noscript element (SHOULD be displayed) Hackett Expires 16 July 2026 [Page 15] Internet-Draft URES January 2026 8.1.2. Prohibited Attributes The following attributes MUST be stripped from all elements: All on* event handlers: onclick, onload, onerror, onmouseover, onfocus, onblur, onsubmit, etc. 8.1.3. JavaScript URLs The following URL schemes MUST NOT be executable: * javascript: * vbscript: * data:text/html (when containing script) MUAs MUST either: a. Strip href/src attributes containing these schemes, OR b. Replace them with safe values (e.g., href="#") 8.2. Positioning Attack Prevention In web-based MUAs, malicious use of CSS positioning could overlay deceptive content atop the webmail UI. 8.2.1. Fixed Position Blocking MUAs MUST NOT render position: fixed as specified. Such elements: * MUST be rendered as position: static or position: relative * MUST remain within the email content area * MUST NOT overlay any part of the MUA interface 8.2.2. z-index Sandboxing MUAs MUST ensure that email content z-index values cannot cause elements to render above the MUA interface. Implementation: Create a new stacking context for email content that is positioned below all MUA UI elements. 8.3. Tracking Prevention Hackett Expires 16 July 2026 [Page 16] Internet-Draft URES January 2026 8.3.1. Pixel Tracking Remote images are commonly used as tracking pixels. MUAs SHOULD: * Block remote images by default * Provide clear UI indication when images are blocked * Allow users to load images per-email or per-sender 8.3.2. Inline Content as Alternative The mandatory support for base64 inline images (Section 6.1) and CID images (Section 6.2) provides senders with tracking-free alternatives for embedding images. 9. Accessibility Email content MUST be accessible to users with disabilities. MUAs MUST NOT strip or alter HTML that supports accessibility. 9.1. Semantic HTML MUAs MUST correctly interpret and render semantic HTML elements: header, footer, nav, main, article, section, aside, h1 through h6, p, ul, ol, li, dl, dt, dd, table, th, td (with scope attributes), figure, figcaption, blockquote, cite, strong, em MUAs MUST NOT flatten semantic structure (e.g., converting all elements to div or span). 9.2. Alternative Text MUAs MUST: * Display alt attribute text when images are not loaded * Expose alt text to assistive technologies * Support role and aria-* attributes MUAs MUST NOT strip: alt, title, role, aria-label, aria-labelledby, aria-describedby, aria-hidden, aria-live, aria-atomic, aria-relevant Hackett Expires 16 July 2026 [Page 17] Internet-Draft URES January 2026 9.3. Colour Contrast When MUAs apply automatic dark mode adaptation (Section 5.3), the resulting colour combinations MUST maintain WCAG 2.1 AA contrast ratios: * Normal text: 4.5:1 * Large text: 3:1 * UI components and graphics: 3:1 10. Conformance Levels To facilitate gradual adoption, this specification defines three conformance levels. 10.1. URES Level 1 (Baseline) An MUA conforming to URES Level 1 MUST: * Support all properties in Section 4.1 * Support inline base64 images (Section 6.1) * Support CID images (Section 6.2) * Strip all JavaScript (Section 8.1) * Implement positioning constraints (Section 4.2) * Support prefers-color-scheme media query (Section 5.2) * Preserve semantic HTML (Section 9.1) 10.2. URES Level 2 (Enhanced) An MUA conforming to URES Level 2 MUST: * Meet all Level 1 requirements * Support the Executive-Safe SVG Profile (Section 7) * Support CSS Flexbox (Section 4.4) * Implement dark mode adaptation rules (Section 5.3) * Support picture element Hackett Expires 16 July 2026 [Page 18] Internet-Draft URES January 2026 * Support CSS custom properties (variables) 10.3. URES Level 3 (Full) An MUA conforming to URES Level 3 MUST: * Meet all Level 2 requirements * Support CSS Grid (Section 4.5) * Support @font-face * Support CSS animations (with user preference for reduced motion) * Implement full CSP * Provide tracking prevention (Section 8.3) 11. Adoption Considerations This section addresses practical considerations for adoption of this specification by email client vendors. 11.1. Open Source Reference Implementations The authors recognise that some email client vendors have historically been reluctant to invest in standards-compliant rendering engines, preferring instead to repurpose existing technologies (such as word processing engines) that were never designed for standards-compliant HTML/CSS rendering. To address this, the community intends to develop and maintain open source reference implementations of URES-compliant rendering components. These implementations will be: * Licensed under permissive terms (MIT, Apache 2.0, or similar) * Designed for embedding in both native and web-based clients * Maintained by the community with regular security updates * Tested against the URES conformance test suite Vendors who have historically chosen not to invest in standards- compliant rendering may simply adopt these community-maintained implementations when ready, rather than continuing to maintain proprietary solutions that diverge from industry consensus. Hackett Expires 16 July 2026 [Page 19] Internet-Draft URES January 2026 11.2. Precedent for Community-Driven Adoption This approach mirrors successful adoption patterns across the software industry, where vendors have benefited from community- developed standards and implementations rather than maintaining proprietary alternatives: * React (Meta): Now embedded across enterprise applications, including those from vendors who initially resisted component- based UI architectures. * GraphQL (Meta): Adopted by major cloud platforms after community momentum demonstrated clear benefits over proprietary query languages. * OpenTelemetry (CNCF): Observability standard now integrated across all major cloud providers, replacing fragmented proprietary instrumentation. * Chromium (Google): The rendering engine now powers multiple browsers from vendors who previously maintained independent engines, including Microsoft Edge. * VS Code / Monaco Editor (Microsoft): An acknowledgement that community-driven tooling often surpasses proprietary alternatives. Vendors currently maintaining non-compliant rendering engines face an ongoing maintenance burden for technology that provides no competitive advantage. The availability of URES-compliant open source alternatives offers a path to reduced maintenance costs while improving interoperability for their users. 11.3. Incremental Adoption Path Vendors need not adopt all conformance levels simultaneously. The three-tier conformance structure (Section 10) enables: 1. Level 1 adoption with minimal investment, addressing the most critical rendering inconsistencies. 2. Level 2 adoption as community implementations mature, adding modern layout and dark mode support. 3. Level 3 adoption for full feature parity with web browsers, enabled by proven, stable open source components. Hackett Expires 16 July 2026 [Page 20] Internet-Draft URES January 2026 This graduated approach ensures that even conservative vendors can adopt URES without significant risk, leveraging battle-tested implementations developed and maintained by the broader community. 12. IANA Considerations This document registers a new media feature for the prefers-color- scheme-only media query: Name: prefers-color-scheme-only Values: light | dark Applies to: visual media Description: Indicates that the email author has requested no automatic colour scheme adaptation. This document requests registration of the following HTTP header for use in email content negotiation: Header field name: X-Email-Renderer-Level Applicable protocol: HTTP (for web-based MUAs) Status: Informational Author/Change controller: IETF Specification document(s): This document Values: 1 | 2 | 3 Example: X-Email-Renderer-Level: 2 13. References 13.1. Normative References [CSS-FLEXBOX-1] Atkins Jr., T., Etemad, E., and R. Atanassov, "CSS Flexible Box Layout Module Level 1", W3C Candidate Recommendation, November 2018, . Hackett Expires 16 July 2026 [Page 21] Internet-Draft URES January 2026 [CSS-GRID-1] Atkins Jr., T., Etemad, E., and R. Atanassov, "CSS Grid Layout Module Level 1", W3C Candidate Recommendation, December 2020, . [HTML5] WHATWG, "HTML Living Standard", . [RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies", RFC 2045, November 1996, . [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997, . [RFC2392] Levinson, E., "Content-ID and Message-ID Uniform Resource Locators", RFC 2392, August 1998, . [RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322, October 2008, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, May 2017, . 13.2. Informative References [CANIEMAIL] Community project, "Can I email... Support tables for HTML and CSS in emails", . [WCAG21] W3C, "Web Content Accessibility Guidelines (WCAG) 2.1", W3C Recommendation, June 2018, . Appendix A. Known Client Inconsistencies This appendix documents specific inconsistencies in current email clients that this RFC aims to address. Data sourced from caniemail project [CANIEMAIL] and direct testing as of January 2026. Hackett Expires 16 July 2026 [Page 22] Internet-Draft URES January 2026 A.1. CSS Support Matrix (Selected Properties) +====================+=========+=====+=========+=====+=====+========+ | Property | Gmail |O.com| O.app |Apple|Yahoo| T-bird | +====================+=========+=====+=========+=====+=====+========+ | style in head | Partial |Yes | Yes |Yes |Yes | Yes | +--------------------+---------+-----+---------+-----+-----+--------+ | display: flex | Yes |Yes | No |Yes |Yes | Yes | +--------------------+---------+-----+---------+-----+-----+--------+ | display: grid | Yes |Yes | No |Yes |Yes | Yes | +--------------------+---------+-----+---------+-----+-----+--------+ | position: fixed | No |No | No |No |No | Yes | +--------------------+---------+-----+---------+-----+-----+--------+ | position: | No |No | Yes |Yes |No | Yes | | absolute | | | | | | | +--------------------+---------+-----+---------+-----+-----+--------+ | background-image | Yes |Yes | No |Yes |Yes | Yes | +--------------------+---------+-----+---------+-----+-----+--------+ | border-radius | Yes |Yes | Partial |Yes |Yes | Yes | +--------------------+---------+-----+---------+-----+-----+--------+ | @media queries | No |Yes | Yes |Yes |Yes | Yes | +--------------------+---------+-----+---------+-----+-----+--------+ | CSS variables | Yes |Yes | No |Yes |Yes | Yes | +--------------------+---------+-----+---------+-----+-----+--------+ | @font-face | No |Yes | No |Yes |No | Yes | +--------------------+---------+-----+---------+-----+-----+--------+ | ::before/::after | No |Yes | No |Yes |Yes | Yes | +--------------------+---------+-----+---------+-----+-----+--------+ Table 1 Legend: Gmail (web), O.com (Outlook.com), O.app (Outlook desktop), Apple (Apple Mail), Yahoo (Yahoo Mail), T-bird (Thunderbird) Acknowledgements The author wishes to acknowledge the work of the Email Standards Project (2007-2011), the W3C HTML for Email Community Group (2014-2023), and the caniemail.com project for documenting the inconsistencies that this specification aims to address. Author's Address Will Hackett London United Kingdom Email: will@willhackett.uk URI: https://willhackett.uk Hackett Expires 16 July 2026 [Page 23]