microsoft / microsoft/TypeScript

Error when accessing CSS property value using kebab case in `CSSStyleDeclaration` object

Open
#59,968 2 comments 1 reaction 2 assignees View on GitHub

@RyanCavanaugh is already working on this.

Since Sep 19, 2026.

  • #64340 by @copilot-swe-agent — open
Bug Domain: lib.d.ts Help Wanted Needs Human Review
Dominant language
Go
Stars
111k
Forks
14.3k
Avg merge
2d 4h
Merged PRs (30d)
132

Description

🔎 Search Terms

"CSS property value kebab case dash", "CSSStyleDeclaration", "getComputedStyle", "getPropertyValue"

🕗 Version & Regression Information
  • This is the behavior in every version I tried, and I reviewed the FAQ for entries about "CSSStyleDeclaration", "getComputedStyle"
⏯ Playground Link

https://www.typescriptlang.org/play/?ts=5.7.0-dev.20240914#code/OYUwLgwg9gtgDgVzCAJgZTATwDYgBQpQDGCMIAdmAHQBGUKmAlANoDkNAhkQNbABOUBORQBaIlGxQ+rALpA

💻 Code
getComputedStyle(document.body)['background-color']
🙁 Actual behavior

TypeScript reports following error:

Element implicitly has an 'any' type because index expression is not of type 'number'.

🙂 Expected behavior

TypeScript should not report any error.

Additional information about the issue

If I update the file node_modules/typescript/lib/lib.dom.d.ts to include background-color as follows:

interface CSSStyleDeclaration {
  // ...
  'background-color': string;
  // ...
}

the error does not occur for background-color property.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.