# Vuejs
> url: /guide/best-practices/accessibility.md
## Pages
- [Accessibility {#accessibility}](accessibility.md): Web accessibility (also known as a11y) refers to the practice of creating websites that can be used by anyone — be th...
- [Animation Techniques {#animation-techniques}](animation.md): import ElasticHeader from './demos/ElasticHeader.vue'
- [Application API {#application-api}](application.md): Creates an application instance.
- [Async Components {#async-components}](async.md): In large applications, we may need to divide the app into smaller chunks and only load a component from the server wh...
- [Fallthrough Attributes {#fallthrough-attributes}](attrs.md): This page assumes you've already read the [Components Basics](/guide/essentials/component-basics). Read that first if...
- [Built-in Components {#built-in-components}](built-in-components.md): :::info Registration and Usage
- [Built-in Directives {#built-in-directives}](built-in-directives.md): Update the element's text content.
- [Built-in Special Attributes {#built-in-special-attributes}](built-in-special-attributes.md): The`key`special attribute is primarily used as a hint for Vue's virtual DOM algorithm to identify vnodes when diffi...
- [Built-in Special Elements {#built-in-special-elements}](built-in-special-elements.md): :::info Not Components
- [Class and Style Bindings {#class-and-style-bindings}](class-and-style.md): A common need for data binding is manipulating an element's class list and inline styles. Since`class`and`style`a...
- [Community Guide {#community-guide}](community-guide.md): Vue's community is growing incredibly fast and if you're reading this, there's a good chance you're ready to join it....
- [Compile-Time Flags {#compile-time-flags}](compile-time-flags.md): :::tip
- [Components Basics {#components-basics}](component-basics.md): Watch an interactive video lesson on Scrimba
- [Component Instance {#component-instance}](component-instance.md): :::info
- [Composables {#composables}](composables.md): import { useMouse } from './mouse'
- [Composition API:
Dependency Injection {#composition-api-dependency-injection}](composition-api-dependency-injection.md): Provides a value that can be injected by descendant components.
- [Composition API FAQ {#composition-api-faq}](composition-api-faq.md): :::tip
- [Composition API: Helpers {#composition-api-helpers}](composition-api-helpers.md): Returns the`attrs`object from the [Setup Context](/api/composition-api-setup#setup-context), which includes the [fa...
- [Composition API: Lifecycle Hooks {#composition-api-lifecycle-hooks}](composition-api-lifecycle.md): :::info Usage Note
- [Composition API: setup() {#composition-api-setup}](composition-api-setup.md): The`setup()`hook serves as the entry point for Composition API usage in components in the following cases:
- [TypeScript with Composition API {#typescript-with-composition-api}](composition-api.md): Watch an interactive video lesson on Scrimba
- [Computed Properties {#computed-properties}](computed.md): In-template expressions are very convenient, but they are meant for simple operations. Putting too much logic in your...
- [Conditional Rendering {#conditional-rendering}](conditional.md): import { ref } from 'vue'
- [Custom Directives {#custom-directives}](custom-directives.md): const vHighlight = {
- [Custom Elements API {#custom-elements-api}](custom-elements.md): This method accepts the same argument as`defineComponent`, but instead returns a native [Custom ...
- [Custom Renderer API {#custom-renderer-api}](custom-renderer.md): Creates a custom renderer. By providing platform-specific node creation and manipulation APIs, you can leverage Vue's...
- [Event Handling {#event-handling}](event-handling.md): We can use the`v-on`directive, which we typically shorten to the`@`symbol, to listen to DOM events and run some J...
- [Component Events {#component-events}](events.md): import { onMounted } from 'vue'
- [Frequently Asked Questions {#frequently-asked-questions}](faq.md): Vue is an independent, community-driven project. It was created by [Evan You](https://x.com/youyuxi) in 2014 as a per...
- [Form Input Bindings {#form-input-bindings}](forms.md): import { ref } from 'vue'
- [Global API: General {#global-api-general}](general.md): Exposes the current version of Vue.
- [Index](index.md): import ApiIndex from './ApiIndex.vue'
- [Introduction {#introduction}](introduction.md): :::info You are reading the documentation for Vue 3!
- [KeepAlive {#keepalive}](keep-alive.md): import SwitchComponent from './keep-alive-demos/SwitchComponent.vue'
- [Lifecycle Hooks {#lifecycle-hooks}](lifecycle.md): Each Vue component instance goes through a series of initialization steps when it's created - for example, it needs t...
- [List Rendering {#list-rendering}](list.md): We can use the`v-for`directive to render a list of items based on an array. The`v-for`directive requires a specia...
- [Community Newsletters {#community-newsletters}](newsletters.md): There are many great newsletters / Vue-dedicated blogs from the community bringing you latest news and happenings in ...
- [TypeScript with Options API {#typescript-with-options-api}](options-api.md): This page assumes you've already read the overview on [Using Vue with TypeScript](./overview).
- [Options: Composition {#options-composition}](options-composition.md): Provide values that can be injected by descendant components.
- [Options: Lifecycle {#options-lifecycle}](options-lifecycle.md): :::info See also
- [Options: Misc {#options-misc}](options-misc.md): Explicitly declare a display name for the component.
- [Options: Rendering {#options-rendering}](options-rendering.md): A string template for the component.
- [Options: State {#options-state}](options-state.md): A function that returns the initial reactive state for the component instance.
- [Using Vue with TypeScript {#using-vue-with-typescript}](overview.md): A type system like TypeScript can detect many common errors via static analysis at build time. This reduces the chanc...
- [Performance {#performance}](performance.md): Vue is designed to be performant for most common use cases without much need for manual optimizations. However, there...
- [Plugins {#plugins}](plugins.md): Plugins are self-contained code that usually add app-level functionality to Vue. This is how we install a plugin:
- [Production Deployment {#production-deployment}](production-deployment.md): During development, Vue provides a number of features to improve the development experience:
- [Props {#props}](props.md): This page assumes you've already read the [Components Basics](/guide/essentials/component-basics). Read that first if...
- [Provide / Inject {#provide-inject}](provide-inject.md): This page assumes you've already read the [Components Basics](/guide/essentials/component-basics). Read that first if...
- [Quick Start {#quick-start}](quick-start.md): import { VTCodeGroup, VTCodeGroupTab } from '@vue/theme'
- [Reactivity API: Advanced {#reactivity-api-advanced}](reactivity-advanced.md): Shallow version of [`ref()`](./reactivity-core#ref).
- [Reactivity API: Core {#reactivity-api-core}](reactivity-core.md): :::info See also
- [Reactivity Fundamentals {#reactivity-fundamentals}](reactivity-fundamentals.md): :::tip API Preference
- [Reactivity in Depth {#reactivity-in-depth}](reactivity-in-depth.md): import SpreadSheet from './demos/SpreadSheet.vue'
- [Reactivity Transform {#reactivity-transform}](reactivity-transform.md): :::danger Removed Experimental Feature
- [Reactivity API: Utilities {#reactivity-api-utilities}](reactivity-utilities.md): Checks if a value is a ref object.
- [Component Registration {#component-registration}](registration.md): This page assumes you've already read the [Components Basics](/guide/essentials/component-basics). Read that first if...
- [Releases {#releases}](releases.md): import { ref, onMounted } from 'vue'
- [Render Function APIs {#render-function-apis}](render-function.md): Creates virtual DOM nodes (vnodes).
- [Rendering Mechanism {#rendering-mechanism}](rendering-mechanism.md): How does Vue take a template and turn it into actual DOM nodes? How does Vue update those DOM nodes efficiently? We w...
- [Routing {#routing}](routing.md): Routing on the server side means the server is sending a response based on the URL path that the user is visiting. Wh...
- [Priority A Rules: Essential {#priority-a-rules-essential}](rules-essential.md): ::: warning Note
- [Priority C Rules: Recommended {#priority-c-rules-recommended}](rules-recommended.md): ::: warning Note
- [Priority B Rules: Strongly Recommended {#priority-b-rules-strongly-recommended}](rules-strongly-recommended.md): ::: warning Note
- [Priority D Rules: Use with Caution {#priority-d-rules-use-with-caution}](rules-use-with-caution.md): ::: warning Note
- [Security {#security}](security.md): When a vulnerability is reported, it immediately becomes our top concern, with a full-time contributor dropping every...
- [SFC CSS Features {#sfc-css-features}](sfc-css-features.md): When a``tag has the`scoped`attribute, its CSS will apply to elements of the current component only. This i...
- [\