diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTableCellElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLTableCellElement.cpp
index 81c7446c78..68186fcc8b 100644
--- a/Userland/Libraries/LibWeb/HTML/HTMLTableCellElement.cpp
+++ b/Userland/Libraries/LibWeb/HTML/HTMLTableCellElement.cpp
@@ -28,10 +28,13 @@ void HTMLTableCellElement::apply_presentational_hints(CSS::StyleProperties& styl
return;
}
if (name == HTML::AttributeNames::align) {
- if (value.equals_ignoring_case("center") || value.equals_ignoring_case("middle"))
- style.set_property(CSS::PropertyID::TextAlign, StringView("-libweb-center"));
- else
- style.set_property(CSS::PropertyID::TextAlign, value.view());
+ if (value.equals_ignoring_case("center"sv) || value.equals_ignoring_case("middle"sv)) {
+ style.set_property(CSS::PropertyID::TextAlign, CSS::IdentifierStyleValue::create(CSS::ValueID::LibwebCenter));
+ } else {
+ CSS::Parser parser(CSS::ParsingContext(document()), value.view());
+ if (auto parsed_value = parser.parse_as_css_value(CSS::PropertyID::TextAlign))
+ style.set_property(CSS::PropertyID::TextAlign, parsed_value.release_nonnull());
+ }
return;
}
if (name == HTML::AttributeNames::width) {