Microsoft/TypeScript

`autocapitalize` type is incorrect according to MDN

Open

#54,372 opened on May 24, 2023

View on GitHub
 (9 comments) (0 reactions) (0 assignees)TypeScript (6,726 forks)batch import
BugDomain: lib.d.tsHelp Wanted

Repository metrics

Stars
 (48,455 stars)
PR merge metrics
 (Avg merge 6d 17h) (9 merged PRs in 30d)

Description

lib Update Request

In lib/dom.d.ts

https://github.com/microsoft/TypeScript/blob/main/src/lib/dom.generated.d.ts#L9992

the type for HTMLElement.autocapitalize is incorrectly typed as string. According to the MDN article, the autocapitalize attribute/property can only be set to certain keywords.

Therefore, the internal lib dom type should be:

autocapitalize: 'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters';

Sample Code

This issue affects proper typing in web components that extend HTMLElement that attempt to correctly type autocapitalize. TS errors because string and a union type are not compatible. Every reference to a web component class extending HTMLElement with a proper type for autocapitalize errors incorrectly.

Documentation Link

MDN article on autocapitalize

Contributor guide