diff --git a/testing/web-platform/tests/html/rendering/bidi-rendering/slot-direction.window.js b/testing/web-platform/tests/html/rendering/bidi-rendering/slot-direction.window.js
new file mode 100644
index 000000000000..a354cb71bf18
--- /dev/null
+++ b/testing/web-platform/tests/html/rendering/bidi-rendering/slot-direction.window.js
@@ -0,0 +1,439 @@
+for
+(
+let
+t
+of
+[
+{
+description
+:
+"
+<
+slot
+>
+inherits
+direction
+from
+parent
+"
+shadow_tree
+:
+<
+div
+dir
+=
+ltr
+data
+-
+expected
+=
+"
+ltr
+"
+>
+<
+slot
+data
+-
+expected
+=
+"
+ltr
+"
+>
+<
+/
+slot
+>
+<
+/
+div
+>
+host_dir
+:
+"
+rtl
+"
+}
+{
+description
+:
+"
+<
+slot
+>
+inherits
+CSS
+direction
+from
+parent
+"
+shadow_tree
+:
+<
+div
+style
+=
+"
+direction
+:
+ltr
+"
+data
+-
+expected
+=
+"
+ltr
+"
+>
+<
+slot
+data
+-
+expected
+=
+"
+ltr
+"
+>
+<
+/
+slot
+>
+<
+/
+div
+>
+host_dir
+:
+"
+rtl
+"
+}
+{
+description
+:
+"
+<
+slot
+dir
+=
+ltr
+>
+"
+shadow_tree
+:
+<
+slot
+dir
+=
+"
+ltr
+"
+data
+-
+expected
+=
+"
+ltr
+"
+>
+<
+/
+slot
+>
+host_dir
+:
+"
+rtl
+"
+}
+{
+description
+:
+"
+<
+slot
+dir
+=
+rtl
+>
+"
+shadow_tree
+:
+<
+slot
+dir
+=
+"
+rtl
+"
+data
+-
+expected
+=
+"
+rtl
+"
+>
+<
+/
+slot
+>
+host_dir
+:
+"
+ltr
+"
+}
+{
+description
+:
+"
+<
+slot
+dir
+=
+auto
+>
+resolving
+to
+LTR
+"
+shadow_tree
+:
+<
+slot
+dir
+=
+"
+ltr
+"
+data
+-
+expected
+=
+"
+ltr
+"
+>
+<
+/
+slot
+>
+host_dir
+:
+"
+rtl
+"
+host_contents
+:
+"
+A
+"
+}
+{
+description
+:
+"
+<
+slot
+dir
+=
+auto
+>
+resolving
+to
+RTL
+"
+shadow_tree
+:
+<
+slot
+dir
+=
+"
+rtl
+"
+data
+-
+expected
+=
+"
+rtl
+"
+>
+<
+/
+slot
+>
+host_dir
+:
+"
+ltr
+"
+host_contents
+:
+"
+\
+u0627
+"
+}
+]
+)
+{
+test
+(
+(
+)
+=
+>
+{
+let
+host
+=
+document
+.
+createElement
+(
+"
+div
+"
+)
+;
+document
+.
+body
+.
+appendChild
+(
+host
+)
+;
+host
+.
+dir
+=
+t
+.
+host_dir
+;
+if
+(
+"
+host_contents
+"
+in
+t
+)
+{
+host
+.
+innerHTML
+=
+t
+.
+host_contents
+;
+}
+let
+root
+=
+host
+.
+attachShadow
+(
+{
+mode
+:
+"
+open
+"
+}
+)
+;
+root
+.
+innerHTML
+=
+t
+.
+shadow_tree
+;
+for
+(
+let
+e
+of
+Array
+.
+from
+(
+root
+.
+querySelectorAll
+(
+"
+[
+data
+-
+expected
+]
+"
+)
+)
+)
+{
+assert_equals
+(
+getComputedStyle
+(
+e
+)
+.
+direction
+e
+.
+getAttribute
+(
+"
+data
+-
+expected
+"
+)
+direction
+of
+{
+e
+.
+nodeName
+}
+)
+;
+}
+host
+.
+remove
+(
+)
+;
+}
+<
+slot
+>
+element
+sets
+CSS
+direction
+property
+:
+{
+t
+.
+description
+}
+)
+;
+}
diff --git a/testing/web-platform/tests/html/rendering/bidi-rendering/slot-no-isolate-001-ref.html b/testing/web-platform/tests/html/rendering/bidi-rendering/slot-no-isolate-001-ref.html
new file mode 100644
index 000000000000..e84176a22cb8
--- /dev/null
+++ b/testing/web-platform/tests/html/rendering/bidi-rendering/slot-no-isolate-001-ref.html
@@ -0,0 +1,118 @@
+<
+!
+DOCTYPE
+html
+>
+<
+title
+>
+HTML
+Rendering
+:
+slot
+element
+has
+unicode
+-
+bidi
+:
+isolate
+<
+/
+title
+>
+<
+link
+rel
+=
+"
+author
+"
+title
+=
+"
+L
+.
+David
+Baron
+"
+href
+=
+"
+https
+:
+/
+/
+dbaron
+.
+org
+/
+"
+>
+<
+link
+rel
+=
+"
+author
+"
+title
+=
+"
+Google
+"
+href
+=
+"
+http
+:
+/
+/
+www
+.
+google
+.
+com
+/
+"
+>
+<
+div
+style
+=
+"
+unicode
+-
+bidi
+:
+bidi
+-
+override
+;
+direction
+:
+ltr
+;
+"
+>
+&
+#
+x5D1
+;
+-
+&
+#
+x5D0
+;
+<
+/
+div
+>
+<
+div
+>
+normal
+<
+/
+div
+>
diff --git a/testing/web-platform/tests/html/rendering/bidi-rendering/slot-no-isolate-001.html b/testing/web-platform/tests/html/rendering/bidi-rendering/slot-no-isolate-001.html
new file mode 100644
index 000000000000..b1f196eee9b9
--- /dev/null
+++ b/testing/web-platform/tests/html/rendering/bidi-rendering/slot-no-isolate-001.html
@@ -0,0 +1,301 @@
+<
+!
+DOCTYPE
+html
+>
+<
+title
+>
+HTML
+Rendering
+:
+slot
+element
+has
+unicode
+-
+bidi
+:
+isolate
+<
+/
+title
+>
+<
+link
+rel
+=
+"
+author
+"
+title
+=
+"
+L
+.
+David
+Baron
+"
+href
+=
+"
+https
+:
+/
+/
+dbaron
+.
+org
+/
+"
+>
+<
+link
+rel
+=
+"
+author
+"
+title
+=
+"
+Google
+"
+href
+=
+"
+http
+:
+/
+/
+www
+.
+google
+.
+com
+/
+"
+>
+<
+link
+rel
+=
+"
+help
+"
+href
+=
+"
+https
+:
+/
+/
+html
+.
+spec
+.
+whatwg
+.
+org
+/
+multipage
+/
+rendering
+.
+html
+#
+bidi
+-
+rendering
+"
+>
+<
+link
+rel
+=
+"
+help
+"
+href
+=
+"
+https
+:
+/
+/
+github
+.
+com
+/
+whatwg
+/
+html
+/
+pull
+/
+9880
+"
+>
+<
+link
+rel
+=
+"
+match
+"
+href
+=
+"
+slot
+-
+no
+-
+isolate
+-
+001
+-
+ref
+.
+html
+"
+>
+<
+div
+>
+&
+#
+x5D0
+;
+-
+<
+span
+id
+=
+"
+e
+"
+>
+&
+#
+x5D1
+;
+<
+/
+span
+>
+<
+/
+div
+>
+<
+div
+id
+=
+"
+v
+"
+>
+<
+/
+div
+>
+<
+script
+>
+let
+e
+=
+document
+.
+getElementById
+(
+"
+e
+"
+)
+;
+let
+root
+=
+e
+.
+attachShadow
+(
+{
+mode
+:
+"
+open
+"
+}
+)
+;
+/
+/
+use
+display
+:
+inline
+to
+override
+default
+display
+:
+contents
+root
+.
+innerHTML
+=
+"
+<
+slot
+style
+=
+'
+display
+:
+inline
+'
+>
+\
+u05D2
+<
+/
+slot
+>
+"
+;
+let
+val
+=
+getComputedStyle
+(
+root
+.
+querySelector
+(
+"
+slot
+"
+)
+)
+.
+unicodeBidi
+;
+document
+.
+getElementById
+(
+"
+v
+"
+)
+.
+innerText
+=
+val
+;
+<
+/
+script
+>