diff --git a/src/Field.php b/src/Field.php
index b932f273f01a7dff40ffeedd12be722d943e0869..14b02592ef679ab0a26d4cbb843433a6fef22d54 100644
--- a/src/Field.php
+++ b/src/Field.php
@@ -55,7 +55,7 @@ interface Field {
 	 */
 	public function get_attributes( array $except = [] ): array;
 
-	public function get_attribute( string $name, string $default = null ): string;
+	public function get_attribute( string $name, ?string $default = null ): string;
 
 	public function is_attribute_set( string $name ): bool;
 
diff --git a/src/Field/Traits/HtmlAttributes.php b/src/Field/Traits/HtmlAttributes.php
index aac835dbaf3389d38cd4477a3e239840138285ce..95a7a421eddb770d860ad39b657df41d6da4ffef 100644
--- a/src/Field/Traits/HtmlAttributes.php
+++ b/src/Field/Traits/HtmlAttributes.php
@@ -57,7 +57,7 @@ trait HtmlAttributes {
 		return ! empty( $this->attributes[ $name ] );
 	}
 
-	final public function get_attribute( string $name, string $default = null ): string {
+	final public function get_attribute( string $name, ?string $default = null ): string {
 		if ( is_array( $this->attributes[ $name ] ) ) {
 			// Be aware of coercing - if implode returns string(0) '', then return $default value.
 			return implode( ' ', $this->attributes[ $name ] ) ?: $default ?? '';
diff --git a/src/Resolver/DefaultFormFieldResolver.php b/src/Resolver/DefaultFormFieldResolver.php
index 4e3077a0cb2b87ef000ac269d3411a9e5a1cf70b..23f5a522011d6ff4a0b92936446c0aeed625051d 100644
--- a/src/Resolver/DefaultFormFieldResolver.php
+++ b/src/Resolver/DefaultFormFieldResolver.php
@@ -20,7 +20,7 @@ class DefaultFormFieldResolver implements Resolver {
 		$this->dir_resolver = new DirResolver( __DIR__ . '/../../templates' );
 	}
 
-	public function resolve( $name, Renderer $renderer = null ): string {
+	public function resolve( $name, ?Renderer $renderer = null ): string {
 		return $this->dir_resolver->resolve( $name, $renderer );
 	}
 }