Summary
The HtmlTextWriter enums (HtmlTextWriterTag, HtmlTextWriterAttribute, HtmlTextWriterStyle) mirror .NET Framework 2.0 era HTML. Modern custom controls need HTML5 semantic elements, ARIA attributes, and CSS3 properties.
Missing Elements
HtmlTextWriterTag
Nav, Section, Article, Header, Footer, Main, Figure, Figcaption, Details, Summary, Dialog, Template
HtmlTextWriterAttribute
data-* attributes (needs pattern support or common data attributes)
aria-* attributes (aria-label, aria-hidden, aria-expanded, aria-describedby)
role, placeholder, required, autofocus, pattern, min, max, step
HtmlTextWriterStyle
- Flexbox:
flex-direction, justify-content, align-items, flex-wrap, gap
- Grid:
grid-template-columns, grid-template-rows, grid-gap
- Visual:
transform, transition, animation, opacity, box-shadow, border-radius
Use Case
DepartmentPortal controls use <nav>, <section>, <article>, data-* attributes, aria-label for accessibility, and flexbox/grid layouts. Developers must currently use string literals instead of the type-safe enum API.
Priority
P3 - Enables modern HTML5/CSS3 custom controls without resorting to string literals.
Summary
The
HtmlTextWriterenums (HtmlTextWriterTag,HtmlTextWriterAttribute,HtmlTextWriterStyle) mirror .NET Framework 2.0 era HTML. Modern custom controls need HTML5 semantic elements, ARIA attributes, and CSS3 properties.Missing Elements
HtmlTextWriterTag
Nav,Section,Article,Header,Footer,Main,Figure,Figcaption,Details,Summary,Dialog,TemplateHtmlTextWriterAttribute
data-*attributes (needs pattern support or common data attributes)aria-*attributes (aria-label,aria-hidden,aria-expanded,aria-describedby)role,placeholder,required,autofocus,pattern,min,max,stepHtmlTextWriterStyle
flex-direction,justify-content,align-items,flex-wrap,gapgrid-template-columns,grid-template-rows,grid-gaptransform,transition,animation,opacity,box-shadow,border-radiusUse Case
DepartmentPortal controls use
<nav>,<section>,<article>,data-*attributes,aria-labelfor accessibility, and flexbox/grid layouts. Developers must currently use string literals instead of the type-safe enum API.Priority
P3 - Enables modern HTML5/CSS3 custom controls without resorting to string literals.