diff --git a/src/ol/control/attributioncontrol.js b/src/ol/control/attributioncontrol.js
index 037fbff346..3e64e77c10 100644
--- a/src/ol/control/attributioncontrol.js
+++ b/src/ol/control/attributioncontrol.js
@@ -210,6 +210,7 @@ ol.control.Attribution.prototype.getSourceAttributions = function(frameState) {
/**
+ * Update the attribution element.
* @param {ol.MapEvent} mapEvent Map event.
* @this {ol.control.Attribution}
* @api
@@ -365,6 +366,7 @@ ol.control.Attribution.prototype.handleToggle_ = function() {
/**
+ * Return `true` if the attribution is collapsible, `false` otherwise.
* @return {boolean} True if the widget is collapsible.
* @api stable
*/
@@ -374,6 +376,7 @@ ol.control.Attribution.prototype.getCollapsible = function() {
/**
+ * Set whether the attribution should be collapsible.
* @param {boolean} collapsible True if the widget is collapsible.
* @api stable
*/
@@ -390,6 +393,9 @@ ol.control.Attribution.prototype.setCollapsible = function(collapsible) {
/**
+ * Collapse or expand the attribution according to the passed parameter. Will
+ * not do anything if the attribution isn't collapsible or if the current
+ * collapsed state is already the one requested.
* @param {boolean} collapsed True if the widget is collapsed.
* @api stable
*/
@@ -402,6 +408,8 @@ ol.control.Attribution.prototype.setCollapsed = function(collapsed) {
/**
+ * Return `true` when the attribution is currently collapsed or `false`
+ * otherwise.
* @return {boolean} True if the widget is collapsed.
* @api stable
*/
diff --git a/src/ol/control/mousepositioncontrol.js b/src/ol/control/mousepositioncontrol.js
index e39412babd..f6a54d9193 100644
--- a/src/ol/control/mousepositioncontrol.js
+++ b/src/ol/control/mousepositioncontrol.js
@@ -103,6 +103,7 @@ goog.inherits(ol.control.MousePosition, ol.control.Control);
/**
+ * Update the mouseposition element.
* @param {ol.MapEvent} mapEvent Map event.
* @this {ol.control.MousePosition}
* @api
@@ -130,6 +131,8 @@ ol.control.MousePosition.prototype.handleProjectionChanged_ = function() {
/**
+ * Return the coordinate format type used to render the current position or
+ * undefined.
* @return {ol.CoordinateFormatType|undefined} The format to render the current
* position in.
* @observable
@@ -142,6 +145,7 @@ ol.control.MousePosition.prototype.getCoordinateFormat = function() {
/**
+ * Return the projection that is used to report the mouse position.
* @return {ol.proj.Projection|undefined} The projection to report mouse
* position in.
* @observable
@@ -193,6 +197,7 @@ ol.control.MousePosition.prototype.setMap = function(map) {
/**
+ * Set the coordinate format type used to render the current position.
* @param {ol.CoordinateFormatType} format The format to render the current
* position in.
* @observable
@@ -204,6 +209,7 @@ ol.control.MousePosition.prototype.setCoordinateFormat = function(format) {
/**
+ * Set the projection that is used to report the mouse position.
* @param {ol.proj.Projection} projection The projection to report mouse
* position in.
* @observable
diff --git a/src/ol/control/overviewmapcontrol.js b/src/ol/control/overviewmapcontrol.js
index 66b5d9b616..aede825f0f 100644
--- a/src/ol/control/overviewmapcontrol.js
+++ b/src/ol/control/overviewmapcontrol.js
@@ -244,6 +244,7 @@ ol.control.OverviewMap.prototype.handleRotationChanged_ = function() {
/**
+ * Update the overview map element.
* @param {ol.MapEvent} mapEvent Map event.
* @this {ol.control.OverviewMap}
* @api
@@ -479,6 +480,7 @@ ol.control.OverviewMap.prototype.handleToggle_ = function() {
/**
+ * Return `true` if the overview map is collapsible, `false` otherwise.
* @return {boolean} True if the widget is collapsible.
* @api stable
*/
@@ -488,6 +490,7 @@ ol.control.OverviewMap.prototype.getCollapsible = function() {
/**
+ * Set whether the overview map should be collapsible.
* @param {boolean} collapsible True if the widget is collapsible.
* @api stable
*/
@@ -504,6 +507,9 @@ ol.control.OverviewMap.prototype.setCollapsible = function(collapsible) {
/**
+ * Collapse or expand the overview map according to the passed parameter. Will
+ * not do anything if the overview map isn't collapsible or if the current
+ * collapsed state is already the one requested.
* @param {boolean} collapsed True if the widget is collapsed.
* @api stable
*/
diff --git a/src/ol/control/rotatecontrol.js b/src/ol/control/rotatecontrol.js
index 785380217b..881587481b 100644
--- a/src/ol/control/rotatecontrol.js
+++ b/src/ol/control/rotatecontrol.js
@@ -148,6 +148,7 @@ ol.control.Rotate.prototype.resetNorth_ = function() {
/**
+ * Update the rotate control element.
* @param {ol.MapEvent} mapEvent Map event.
* @this {ol.control.Rotate}
* @api
diff --git a/src/ol/control/scalelinecontrol.js b/src/ol/control/scalelinecontrol.js
index cf5eeb1e49..66e1ef499a 100644
--- a/src/ol/control/scalelinecontrol.js
+++ b/src/ol/control/scalelinecontrol.js
@@ -141,6 +141,7 @@ ol.control.ScaleLine.LEADING_DIGITS = [1, 2, 5];
/**
+ * Return the units to use in the scale line.
* @return {ol.control.ScaleLineUnits|undefined} The units to use in the scale
* line.
* @observable
@@ -153,6 +154,7 @@ ol.control.ScaleLine.prototype.getUnits = function() {
/**
+ * Update the scale line element.
* @param {ol.MapEvent} mapEvent Map event.
* @this {ol.control.ScaleLine}
* @api
@@ -177,6 +179,7 @@ ol.control.ScaleLine.prototype.handleUnitsChanged_ = function() {
/**
+ * Set the units to use in the scale line.
* @param {ol.control.ScaleLineUnits} units The units to use in the scale line.
* @observable
* @api stable
diff --git a/src/ol/control/zoomslidercontrol.js b/src/ol/control/zoomslidercontrol.js
index 71847f1f68..c695e22821 100644
--- a/src/ol/control/zoomslidercontrol.js
+++ b/src/ol/control/zoomslidercontrol.js
@@ -175,6 +175,7 @@ ol.control.ZoomSlider.prototype.initSlider_ = function() {
/**
+ * Update the zoomslider element.
* @param {ol.MapEvent} mapEvent Map event.
* @this {ol.control.ZoomSlider}
* @api
diff --git a/src/ol/events/condition.js b/src/ol/events/condition.js
index 1141a64256..de8c3d20fe 100644
--- a/src/ol/events/condition.js
+++ b/src/ol/events/condition.js
@@ -19,6 +19,9 @@ ol.events.ConditionType;
/**
+ * Return `true` if only the alt-key is pressed, `false` otherwise (e.g. when
+ * additionally the shift-key is pressed).
+ *
* @param {ol.MapBrowserEvent} mapBrowserEvent Map browser event.
* @return {boolean} True if only the alt key is pressed.
* @api stable
@@ -33,6 +36,9 @@ ol.events.condition.altKeyOnly = function(mapBrowserEvent) {
/**
+ * Return `true` if only the alt-key and shift-key is pressed, `false` otherwise
+ * (e.g. when additionally the platform-modifier-key is pressed).
+ *
* @param {ol.MapBrowserEvent} mapBrowserEvent Map browser event.
* @return {boolean} True if only the alt and shift keys are pressed.
* @api stable
@@ -47,7 +53,8 @@ ol.events.condition.altShiftKeysOnly = function(mapBrowserEvent) {
/**
- * Always true.
+ * Return always true.
+ *
* @param {ol.MapBrowserEvent} mapBrowserEvent Map browser event.
* @return {boolean} True.
* @function
@@ -57,6 +64,8 @@ ol.events.condition.always = goog.functions.TRUE;
/**
+ * Return `true` if the event is a `click` event, `false` otherwise.
+ *
* @param {ol.MapBrowserEvent} mapBrowserEvent Map browser event.
* @return {boolean} True if the event is a map `click` event.
* @api stable
@@ -67,7 +76,8 @@ ol.events.condition.click = function(mapBrowserEvent) {
/**
- * Always false.
+ * Return always false.
+ *
* @param {ol.MapBrowserEvent} mapBrowserEvent Map browser event.
* @return {boolean} False.
* @function
@@ -77,6 +87,9 @@ ol.events.condition.never = goog.functions.FALSE;
/**
+ * Return `true` if the browser event is a `pointermove` event, `false`
+ * otherwise.
+ *
* @param {ol.MapBrowserEvent} mapBrowserEvent Map browser event.
* @return {boolean} True if the browser event is a `pointermove` event.
* @api
@@ -87,6 +100,8 @@ ol.events.condition.pointerMove = function(mapBrowserEvent) {
/**
+ * Return `true` if the event is a map `singleclick` event, `false` otherwise.
+ *
* @param {ol.MapBrowserEvent} mapBrowserEvent Map browser event.
* @return {boolean} True if the event is a map `singleclick` event.
* @api stable
@@ -97,6 +112,9 @@ ol.events.condition.singleClick = function(mapBrowserEvent) {
/**
+ * Return `true` if no modifier key (alt-, shift- or platform-modifier-key) is
+ * pressed.
+ *
* @param {ol.MapBrowserEvent} mapBrowserEvent Map browser event.
* @return {boolean} True only if there no modifier keys are pressed.
* @api stable
@@ -111,6 +129,9 @@ ol.events.condition.noModifierKeys = function(mapBrowserEvent) {
/**
+ * Return `true` if only the platform-modifier-key (e.g. the windows-key) is
+ * pressed, `false` otherwise (e.g. when additionally the shift-key is pressed).
+ *
* @param {ol.MapBrowserEvent} mapBrowserEvent Map browser event.
* @return {boolean} True if only the platform modifier key is pressed.
* @api stable
@@ -125,6 +146,9 @@ ol.events.condition.platformModifierKeyOnly = function(mapBrowserEvent) {
/**
+ * Return `true` if only the shift-key is pressed, `false` otherwise (e.g. when
+ * additionally the alt-key is pressed).
+ *
* @param {ol.MapBrowserEvent} mapBrowserEvent Map browser event.
* @return {boolean} True if only the shift key is pressed.
* @api stable
@@ -139,6 +163,9 @@ ol.events.condition.shiftKeyOnly = function(mapBrowserEvent) {
/**
+ * Return `true` if the target element is not editable, i.e. not a ``-,
+ * `