Skip to content

Commit abb5eec

Browse files
committed
[web] support iframe aria-hidden attribute
1 parent 36eb8cb commit abb5eec

File tree

3 files changed

+24
-2
lines changed

3 files changed

+24
-2
lines changed

flutter_inappwebview_platform_interface/lib/src/in_app_webview/in_app_webview_settings.dart

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1662,6 +1662,15 @@ as it can cause framerate drops on animations in Android 9 and lower (see [Hybri
16621662
])
16631663
String? iframeRole;
16641664

1665+
@SupportedPlatforms(platforms: [
1666+
WebPlatform(
1667+
requiresSameOrigin: false,
1668+
apiName: "iframe.ariaHidden",
1669+
apiUrl:
1670+
"https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-hidden")
1671+
])
1672+
String? iframeAriaHidden;
1673+
16651674
@ExchangeableObjectConstructor()
16661675
InAppWebViewSettings_({
16671676
this.useShouldOverrideUrlLoading,
@@ -1805,6 +1814,7 @@ as it can cause framerate drops on animations in Android 9 and lower (see [Hybri
18051814
this.iframeName,
18061815
this.iframeCsp,
18071816
this.iframeRole,
1817+
this.iframeAriaHidden,
18081818
}) {
18091819
if (this.minimumFontSize == null)
18101820
this.minimumFontSize = Util.isAndroid ? 8 : 0;

flutter_inappwebview_platform_interface/lib/src/in_app_webview/in_app_webview_settings.g.dart

Lines changed: 10 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flutter_inappwebview_web/lib/web/in_app_web_view_web_element.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,7 @@ class InAppWebViewWebElement implements Disposable {
231231
iframe.name = settings!.iframeName ?? iframe.name;
232232
iframe.csp = settings!.iframeCsp ?? iframe.csp;
233233
iframe.role = settings!.iframeRole ?? iframe.role;
234+
iframe.ariaHidden = settings!.iframeAriaHidden ?? iframe.ariaHidden;
234235

235236
if (settings!.iframeSandbox != null &&
236237
settings!.iframeSandbox != Sandbox.ALLOW_ALL) {
@@ -474,6 +475,9 @@ class InAppWebViewWebElement implements Disposable {
474475
if (settings!.iframeRole != newSettings.iframeRole) {
475476
iframe.role = newSettings.iframeRole;
476477
}
478+
if (settings!.iframeAriaHidden != newSettings.iframeAriaHidden) {
479+
iframe.ariaHidden = newSettings.iframeAriaHidden;
480+
}
477481

478482
if (settings!.iframeSandbox != newSettings.iframeSandbox) {
479483
var sandbox = newSettings.iframeSandbox;

0 commit comments

Comments
 (0)