/* This Source Code Form is subject to the terms of the Mozilla Public
* License , v . 2 . 0 . If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef CssAltContent_h_
#define CssAltContent_h_
#include "nsStyleStruct.h"
namespace mozilla::a11y {
/**
* Queries alternative text specified in the CSS content property .
*/
class MOZ_STACK_CLASS CssAltContent {
public :
explicit CssAltContent(nsIContent* aContent);
/**
* Checks whether any CSS alt text has been specified . It could be explicitly
* empty . Usage example :
* if ( CssAltContent ( someContentNode ) ) . . .
*/
explicit operator bool ()
const {
return !mItems.IsEmpty(); }
/**
* Checks whether the CSS alt text is empty or unspecified . To check for alt
* text which is explicitly specified as empty , combine this with operator
* bool ( ) .
*/
bool IsEmpty()
const {
return mText.IsEmpty(); }
/**
* Append all CSS alt text to a string .
*/
void AppendToString(nsAString& aOut);
/**
* Update accessibility if there is CSS alt content on the given element or a
* descendant pseudo - element which references the given attribute .
*/
static bool HandleAttributeChange(nsIContent* aContent, int32_t aNameSpaceID,
nsAtom* aAttribute);
private :
bool HandleAttributeChange(int32_t aNameSpaceID, nsAtom* aAttribute);
dom::Element* mRealElement = nullptr;
dom::Element* mPseudoElement = nullptr;
mozilla::Span<
const mozilla::StyleContentItem> mItems;
nsString mText;
};
}
// namespace mozilla::a11y
#endif
Messung V0.5 in Prozent C=89 H=100 G=94
¤ Dauer der Verarbeitung: 0.24 Sekunden
(vorverarbeitet am 2026-09-29)
¤
*© Formatika GbR, Deutschland