diff --git a/Doxyfile b/Doxyfile
index 04b1d97df..42d00e31a 100644
--- a/Doxyfile
+++ b/Doxyfile
@@ -260,16 +260,20 @@ ALIASES = \
"requires_gl44=@xrefitem requires-gl44 \"Requires OpenGL 4.4\" \"Functionality requiring OpenGL 4.4\"" \
"requires_gl45=@xrefitem requires-gl45 \"Requires OpenGL 4.5\" \"Functionality requiring OpenGL 4.5\"" \
"requires_extension=@xrefitem requires-extension \"Requires OpenGL extension\" \"Functionality requiring specific OpenGL extension\"" \
- "requires_gl=@xrefitem requires-gl \"Requires desktop OpenGL\" \"Functionality requiring desktop OpenGL (not available in OpenGL ES)\"" \
+ "requires_gl=@xrefitem requires-gl \"Requires desktop OpenGL\" \"Functionality requiring desktop OpenGL\"" \
"extension{2}=\1_\2" \
"extension2{2}=\1_\2" \
"extension3{3}=\1_\2" \
- "requires_gles20=@xrefitem requires-gles20 \"Requires OpenGL ES 2.0\" \"Functionality requiring OpenGL ES 2.0 (not available in ES 3.0 and desktop OpenGL)\"" \
+ "requires_gles20=@xrefitem requires-gles20 \"Requires OpenGL ES 2.0 / WebGL 1.%\" \"Functionality requiring OpenGL ES 2.0 or WebGL 1.0\"" \
"requires_gles30=@xrefitem requires-gles30 \"Requires OpenGL ES 3.0\" \"Functionality requiring OpenGL ES 3.0\"" \
"requires_gles31=@xrefitem requires-gles31 \"Requires OpenGL ES 3.1\" \"Functionality requiring OpenGL ES 3.1\"" \
"requires_es_extension=@xrefitem requires-es-extension \"Requires OpenGL ES extension\" \"Functionality requiring specific OpenGL ES extension\"" \
+ "requires_gles=@xrefitem requires-gles \"Requires OpenGL ES or desktop OpenGL\" \"Functionality requiring OpenGL ES or desktop OpenGL\"" \
+ "requires_webgl20=@xrefitem requires-webgl20 \"Requires WebGL 2.0\" \"Functionality requiring WebGL 2.0\"" \
+ "requires_webgl_extension=@xrefitem requires-webgl-extension \"Requires WebGL extension\" \"Functionality requiring specific WebGL extension\"" \
"es_extension{2}=\1_\2" \
"es_extension2{3}=\1_\2" \
+ "webgl_extension{2}=\1_\2" \
"fn_al{1}=`al\1()`" \
"def_al{1}=`AL_\1`"
diff --git a/doc/opengl.dox b/doc/opengl.dox
index c1138d16d..c4feef3f7 100644
--- a/doc/opengl.dox
+++ b/doc/opengl.dox
@@ -62,6 +62,9 @@ is supported on older Intel GPUs even if they are capable of OpenGL 2.1 only).
- @subpage requires-gles30
- @subpage requires-gles31
- @subpage requires-es-extension
+- @subpage requires-gles
+- @subpage requires-webgl20
+- @subpage requires-webgl-extension
@see @ref building, @ref cmake, @ref MAGNUM_TARGET_GLES,
@ref MAGNUM_TARGET_GLES2
@@ -79,21 +82,37 @@ is supported on older Intel GPUs even if they are capable of OpenGL 2.1 only).
@page requires-extension Functionality requiring specific OpenGL extension
-@page requires-gl Functionality requiring desktop OpenGL (not available on OpenGL ES)
+@page requires-gl Functionality requiring desktop OpenGL
+
+The following symbols are not defined when targeting OpenGL ES or WebGL.
+
@see @ref MAGNUM_TARGET_GLES
-@page requires-gles20 Functionality requiring OpenGL ES 2.0 (not available on desktop or ES 3.0)
-@see @ref MAGNUM_TARGET_GLES2
+@page requires-gles20 Functionality requiring OpenGL ES 2.0 or WebGL 1.0
-@page requires-gles30 Functionality requiring at least OpenGL ES 3.0
+The following symbols are not defined when targeting OpenGL ES 3.0, WebGL 2.0
+or desktop OpenGL.
-The following symbols are not defined at all when targeting OpenGL ES 2.0.
+@see @ref MAGNUM_TARGET_GLES2
+
+@page requires-gles30 Functionality requiring OpenGL ES 3.0
@see @ref MAGNUM_TARGET_GLES3
@page requires-gles31 Functionality requiring OpenGL ES 3.1
+The following symbols are not defined when targeting OpenGL ES 2.0.
+
@page requires-es-extension Functionality requiring specific OpenGL ES extension
-@see @ref MAGNUM_TARGET_GLES2
+
+@page requires-gles Functionality requiring OpenGL ES or desktop OpenGL
+
+The following symbols are not defined when targeting WebGL.
+
+@see @ref MAGNUM_TARGET_WEBGL, @ref requires-gl
+
+@page requires-webgl20 Functionality requiring WebGL 2.0
+
+@page requires-webgl-extension Functionality requiring specific WebGL extension
*/
diff --git a/src/Magnum/Magnum.h b/src/Magnum/Magnum.h
index bae122d0c..2bb6584f5 100644
--- a/src/Magnum/Magnum.h
+++ b/src/Magnum/Magnum.h
@@ -167,14 +167,14 @@ typedef std::int32_t Int;
/**
@brief Unsigned long (64bit)
-@attention 64-bit integers are not available in @ref MAGNUM_TARGET_WEBGL "WebGL".
+@requires_gles 64-bit integers are not available in WebGL.
*/
typedef std::uint64_t UnsignedLong;
/**
@brief Signed long (64bit)
-@attention 64-bit integers are not available in @ref MAGNUM_TARGET_WEBGL "WebGL".
+@requires_gles 64-bit integers are not available in WebGL.
*/
typedef std::int64_t Long;
#endif
@@ -305,7 +305,7 @@ typedef Math::Range3D Range3Di;
/** @{ @name Double-precision types
See @ref types for more information.
-@requires_gl Only single-precision types are available in OpenGL ES.
+@requires_gl Only single-precision types are available in OpenGL ES and WebGL.
*/
/** @brief Double (64bit) */
diff --git a/src/Magnum/Math/Angle.h b/src/Magnum/Math/Angle.h
index 7d4355fa7..79ea78849 100644
--- a/src/Magnum/Math/Angle.h
+++ b/src/Magnum/Math/Angle.h
@@ -156,7 +156,7 @@ Double cosine = Math::cos(60.0_deg); // cosine = 0.5
Double cosine = Math::cos(1.047_rad); // cosine = 0.5
@endcode
@see @link operator""_degf() @endlink, @link operator""_rad() @endlink
-@requires_gl Only single-precision types are available in OpenGL ES.
+@requires_gl Only single-precision types are available in OpenGL ES and WebGL.
*/
constexpr Deg operator "" _deg(long double value) { return Deg(value); }
#endif
@@ -210,7 +210,7 @@ template class Rad: public Unit {
See @link operator""_deg() @endlink for more information.
@see @link operator""_radf() @endlink
-@requires_gl Only single-precision types are available in OpenGL ES.
+@requires_gl Only single-precision types are available in OpenGL ES and WebGL.
*/
constexpr Rad operator "" _rad(long double value) { return Rad(value); }
#endif