Skip to content

bug(mat-raised-button): Low contrast on buttons in dark mode using Angular Material 18/19 #30856

Open
@melroy89

Description

@melroy89

Is this a regression?

  • Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was

Angular Material v16

Description

Using Angular Material 17, 18 and 19 (so Material 3) on a dark theme (eg. Cyan & Orange) its very hard to see that mat-raised-button is actually is a button...

Image

Link to this example: https://material.angular.io/components/table/examples#table-dynamic-array-data

While on a light theme, there is enough contrast and drop-shadow on a light background, that you can easily see its indeed a raised button:

Image

Reproduction

StackBlitz link: https://stackblitz.com/run?file=src%2Fapp%2Ftable-dynamic-array-data-example.ts

Be sure to select dark theme in the stackblitz. Its basically your official example: https://material.angular.io/components/table/examples#table-dynamic-array-data

Expected Behavior

I would expect to have more contrast with the raised button on the background using dark mode, so you can see at least the outline better. The drop-shadow is of course not working either in dark mode, so that is not helping.

What about a lighter drop-shadow effect?? Since you can't have a dark drop-shadow on a black background. Could this be --mdc-protected-button-container-elevation-shadow?

See for example how it used to be in Angular Material v16: https://v16.material.angular.io/components/table/examples#table-dynamic-array-data

Image

Actual Behavior

No contrast on the dark mat-raised-button on a dark background (aka dark mode), you can not even see that it is a raised button in the first place. See again:

Image

Environment

  • Angular: 19.2.6
  • CDK/Material: 19.2.6
  • Browser(s): Firefox
  • Operating System (e.g. Windows, macOS, Ubuntu): Linux Mint (Ubuntu)

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3An issue that is relevant to core functions, but does not impede progress. Important, but not urgentarea: material/button

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions