From e412dfed2fdfd3854cbe2040a856e54a2cfcfcb5 Mon Sep 17 00:00:00 2001 From: Pierre Tachoire Date: Wed, 1 Apr 2026 09:12:37 +0200 Subject: [PATCH] Add HTMLElement.title property Reflects the `title` HTML attribute as a getter/setter on HTMLElement. --- src/browser/webapi/element/Html.zig | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/browser/webapi/element/Html.zig b/src/browser/webapi/element/Html.zig index 9ee3d612..d72b4fa8 100644 --- a/src/browser/webapi/element/Html.zig +++ b/src/browser/webapi/element/Html.zig @@ -391,6 +391,14 @@ pub fn setLang(self: *HtmlElement, value: []const u8, page: *Page) !void { try self.asElement().setAttributeSafe(comptime .wrap("lang"), .wrap(value), page); } +pub fn getTitle(self: *HtmlElement) []const u8 { + return self.asElement().getAttributeSafe(comptime .wrap("title")) orelse ""; +} + +pub fn setTitle(self: *HtmlElement, value: []const u8, page: *Page) !void { + try self.asElement().setAttributeSafe(comptime .wrap("title"), .wrap(value), page); +} + pub fn getAttributeFunction( self: *HtmlElement, listener_type: GlobalEventHandler, @@ -1231,6 +1239,7 @@ pub const JsApi = struct { pub const hidden = bridge.accessor(HtmlElement.getHidden, HtmlElement.setHidden, .{}); pub const lang = bridge.accessor(HtmlElement.getLang, HtmlElement.setLang, .{}); pub const tabIndex = bridge.accessor(HtmlElement.getTabIndex, HtmlElement.setTabIndex, .{}); + pub const title = bridge.accessor(HtmlElement.getTitle, HtmlElement.setTitle, .{}); pub const onabort = bridge.accessor(HtmlElement.getOnAbort, HtmlElement.setOnAbort, .{}); pub const onanimationcancel = bridge.accessor(HtmlElement.getOnAnimationCancel, HtmlElement.setOnAnimationCancel, .{});